AJAX:
$.ajax({
type:"POST",
url: "{{url('/post/add')}}",
data: {
"_token": "{{ csrf_token() }}",
"id": id
},
success: function (data) {
var res = $.parseJSON(data);
if(res == true)
{
alert('hi');
}
}
});
Laravel控制器:我已在控制器中检查了ajax请求。
public function add(Request $request)
{
if($request->ajax())
{
// codes
echo json_encode(TRUE);die;
}
}
但是,我注意到我不需要检查ajax请求?并且不检查ajax是否请求我如何获得警报?
public function add(Request $request)
{
// codes
echo json_encode(TRUE);die
}
答案 0 :(得分:1)
检查只是有效请求的另一个衡量标准。没有必要,因为您已经注意到了,但如果您想要通过AJAX请求验证请求是否正如您所期望的那样 - 您可以。
答案 1 :(得分:1)
您应该使用$request->ajax()
来确定if the request is the result of an AJAX call。如果您只在方法中使用AJAX请求,则可以省略此检查。
答案 2 :(得分:1)
这取决于你。根据请求是否是AJAX请求,您可以执行不同的操作。例如,返回JSON或普通视图。
如果您希望仅通过AJAX请求访问您的路由,则可以使用中间件保护这些路由。查看this answer以获取更多相关信息。