为什么要用 expectsJson 来做区分?

Laravel
上图代码里用expectsJson做了个判断,我查了一下,大概是:
如果当前请求要求ajax,就abort;否则就转向“提示尚未验证”的网页。
我想问一下,为什么要做这个判断呢?如果不判断,不abort,而是全部都转向“提示尚未验证”的网页,会出现什么问题吗?
谢谢

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 2

既然你都已经知道 ajax 请求时走 abort,那你应该再多看一眼,Ajax 请求需要返回的数据格式是什么?是不是 json。
如果请求期望返回的是 json(header 里有 accept: application/json ),那么就应该返回 json 数据,否则,请求方在解析返回数据时就会出错,出错肯定是不希望的结果。
当然框架这样写,是为了满足不同的需求,一旦具体需求确定,重新定义这个返回逻辑即可。

4年前 评论
UKNOW

肯定是要区分的,否则API接口里面 实现页面重定向是无法跳转的,只能通过前端去跳转

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!