ajax - Laravel 中的三种不同方法用于请求是否请求 JSON。他们是一样的吗?有重叠吗?

标签 ajax laravel controller

所以这三个方法都在 Laravel 文档中,用于测试请求是否为 JSON。

我基本上想为任何请求 JSON 或 AJAX 的请求返回 JSON。
Request::ajax() Request::isJson() Request::wantsJson()
我可以使用其中任何一个吗?它们重叠吗?

最佳答案

并非所有的 AJAX 请求都需要 JSON 响应,因此使用 request()->ajax()在您想确定请求是否为 XmlHttpRequest 时很有用与否,但响应并不关心 JSON 与否。

并非所有包含 JSON 的请求都需要 JSON 响应。因此,如果您不关心响应是否需要返回 JSON,而是想确定请求中是否发送了 JSON,那么 isJson()对你有用。

并非所有需要 JSON 响应的请求都是 AJAX 驱动的,因此 wantsJson在您想返回 JSON 的情况下很有用数据,但您并不关心请求是如何到达您的服务器的。

根据这些描述,做出断言并选择适当的功能。

关于ajax - Laravel 中的三种不同方法用于请求是否请求 JSON。他们是一样的吗?有重叠吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44855361/

相关文章:

javascript - 使用 PreventDefault 函数重新加载表单提交

javascript - 使用ajax下载文件

jquery - Symfony2 AJAX 验证

php - Laravel 使用 'With' 子句将参数从 Controller 传递到模型

ruby-on-rails - Controller 中的实例变量是否传递到 Rails 中的规范?

javascript - 多个 Controller 操纵 Angular 指令中的内容?

javascript - Ajax 在没有警报的情况下无法在 Firefox 中工作

php - Laravel 中的路由与 Controller

javascript - 滚动时如何加载一个又一个 View /页面?

jquery - 从外部 Javascript 文件访问 ASP.NET MVC 模型数据