laravel 5 根据路由返回 HTML 或 JSON

2024-04-01

我想显示不同的输出 - JSON 或 HTML。

我无法使用\Request::ajax()功能,因为我只是收到正常请求(JSON 响应不是基于 XHR 请求)。

是否有可能区分不同路线的输出?例如。检查控制器是否由前缀为“mob”的路由调用,然后根据该路由为输出创建一个开关?

应用程序/Http/routes.php:

Route::group( ['prefix' => 'api'], function(  ) {

  Route::resource( 'activation', 'ActivationController' ); 
  //...
} 

Route::group( ['prefix' => 'mob'], function(  ) {

  Route::resource( 'activation', 'ActivationController' ); 
  //...
} 

应用程序/Http/Controllers/ActivationController:

<?php namespace App\Http\Controllers;

use App\Activation;
use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;
class ActivationController extends Controller {

public function index()
{
    $activation = Activation::all(  );

    // switch to decide which output to show, based on the routes...
    if ($prefix == "mob") {
      return response()->view('template', compact($activation)); // not sure if it works this way
    } else {          
      return response()->json($activation);
    }

}

//...

我愿意接受务实且简单的解决方案。一定不是路线解决方案,而是一种我不必更改太多代码的方法。


您可以使用接受通配符/占位符的 Request::is() 方法。 所以你可以这样做:

if($request->is('mob/*')) {
    // do your mob response
} else {
    // do the other response
}

如果每次执行响应时都有这个,那么您可以编写一个自定义响应宏来处理 if 并将数据作为数组并将其返回为 json 或将其提供给您的刀片视图。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

laravel 5 根据路由返回 HTML 或 JSON 的相关文章

随机推荐

  • 在 PhantomJS 中使用 Jasmine 测试 $interval

    看来我的interval永远不会被触发 我有一个指令 其中包含 interval我想测试一下 我删除了所有与指令相关的代码 并将这段代码添加到其控制器中 window called 0 window interval interval fu
  • 如果 Select 元素没有标签,如何使其可访问?

    我正在学习 HTML 中的可访问性 我遇到了一个选择下拉 HTML 元素的示例 该元素旁边没有任何文本标签 仅页面上方标题的上下文可以让您了解该元素的含义元素包含例如例如 有关国家 地区的部分中的国家 地区列表 在其上运行辅助工具时 该工具
  • 修改联系信息

    我正在尝试插入和更新一条信息existing联系 因此我创建了一个示例应用程序来开发该功能 我希望示例应用程序做的就是插入 或如果存在 更新联系人的电子邮件地址 我通过系统意图选择联系人 如下所示 startActivityForResul
  • 如果我在表格中包含标题,如何防止 kable 在最终文档中留下原始乳胶?

    我正在 Rmarkdown 特别是 bookdown 中写我的论文 并使用 knit 将其编译成 PDF 当我编织它时 除了表格和数字之外 一切都很完美 这些表格 用 kable 生成 看起来几乎完美 但包装如下 其中 table 是正确呈
  • 异步的 List.ForEach() 有什么意义吗?

    我遇到了这段代码 items ForEach async item gt doSomeStuff await mongoItems FindOneAndUpdateAsync mongoMumboJumbo await AddBlah Sq
  • 计算 Rails 中记录之间的平均天数

    鉴于我有一个Foo带标准 Rails 时间戳列的模型计算创建记录之间的平均天数最有效的方法是什么 The maximum and minimum模型的类方法将使用 SQL 聚合函数min and max 有效地找到极值 span secs
  • 删除正则表达式中的文字字符

    我有以下字符串 Qpipe name office1 E 我正在使用一个简化的正则表达式库 它不支持 Q and E 我尝试删除它们 s replaceAll Q replaceAll E 但是 我收到错误Caused by java ut
  • 我们可以在二维码中保存/存储多少数据/信息?

    我想使用这个脚本https github com jeromeetienne jquery qrcode https github com jeromeetienne jquery qrcode 或者有更好的解决方案吗 我喜欢做的是将一些小
  • 如何才能正确的将这个表单数据提交到MongoDB呢?

    我在尝试将我的 React 应用程序与 mongodb 数据库连接起来时遇到了非常困难的时间 在我之前提出的关于如何做的建议的问题中连接 React 和 MongoDB https stackoverflow com questions 4
  • 使用 JWT 的 Core 2.0 API 身份验证返回未经授权的信息

    我正在尝试将 JWT 令牌身份验证添加到我的 Net Core 2 0 应用程序中 我有一个简单的控制器 它返回用于测试的用户列表 Authorize Route api controller public class UsersContr
  • SQL Server 为浮点数提供了额外的精度?

    精度损失是一回事 但是精度增益 我有一个带有以下坐标的文本文件 41 88694340165634 87 60841369628906 当我将其粘贴到 SQL Server Mgmt Studio 表视图中时 结果如下 41 8869434
  • jQuery 表单转发器和 select2 不能一起工作

    我正在使用 Select2 和 jQuery 表单转发器 https github com DubFriend jquery repeater https github com DubFriend jquery repeater 我已经在
  • php错误日志,如何删除重复项/查找唯一错误[重复]

    这个问题在这里已经有答案了 有没有办法只搜索错误日志以查找唯一的错误 原因是我有很多重复的错误 并且不想错过罕见的错误 我将如何编写一个自定义脚本来解析错误日志 并过滤掉除日期时间之外的所有重复项 来分析 var log apache2 e
  • 理解 atoi() 函数

    我是一名 Python 程序员 正在从 K R 书中学习 C 这似乎是一个非常微不足道的问题 但我仍然被难住了 下面附上 K R RIP Ritchie 书中的一段代码 它实现了 atoi 函数 atoi s convert s to in
  • Tkinter Windows 按键事件

    Tkinter 中 Windows 键的事件是什么 我使用的是 Linux 但我想要 Linux 和 Windows 的答案 如果 Mac 有类似的密钥 请随时告诉我它的绑定 我想左右 windows 键有不同的事件 Windows 键似乎
  • 将用户的时区与网站办公地点的时区进行比较

    我正在开发一个项目 我需要在联系人区域向网站访问者显示一条消息 例如 联系电话 91 99 3241 5285 You can call us now 该消息在上面一行中突出显示 现在我的问题是 如何将用户的时区与公司办公室的工作时间进行比
  • 从 Fluent Nhibernate 获取表名

    在流畅的 nhibernate 中设置映射后 有没有办法从类类型中获取实体的表名 我读过常规的 nhiberante 你可以做类似的事情cfg GetClassMapping typeof Employee 我想做这样的事情来检索数据库表名
  • 有没有办法在我的代码中使用 Typescript.Collections.HashTable ?

    我在 Typescript 编译器的代码中看到了 HashTable 的实现 在文件 src compiler core hashTable ts 中 你知道有没有办法可以直接在我的 Typescript 项目中使用它 您可以通过定义接口来
  • 将向量数组作为函数参数传递(值不会改变)

    我在一类中有一组向量 class MeasurementData private std vector
  • laravel 5 根据路由返回 HTML 或 JSON

    我想显示不同的输出 JSON 或 HTML 我无法使用 Request ajax 功能 因为我只是收到正常请求 JSON 响应不是基于 XHR 请求 是否有可能区分不同路线的输出 例如 检查控制器是否由前缀为 mob 的路由调用 然后根据该