我应该检查ajax请求

时间:2016-09-20 13:21:21

标签: ajax laravel

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
    }

3 个答案:

答案 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以获取更多相关信息。