从外部站点向laravel发送POST请求

时间:2020-01-24 17:38:39

标签: php jquery json ajax laravel-5

我想要一种方法,将POST从 PHP站点发送到使用 Laravel构建的另一个站点(第二个站点),以返回 JSON 价值!

PHP站点(我使用jQuery发送此POST):

$('#get_link_form').on('submit', function(event){
        $.ajax({
            url:"<?= $d; ?>/link/go/blog",
            method:"POST",
            data: new FormData(this),
            dataType:'JSON',
            contentType: false,
            cache: false,
            processData: false,
            success:function(data)
            {
                if (data.msg != "") {
                   $('#sell_house_submit').html(data.msg);
                } else {
                   $('#sell_house_submit').removeAttr('disabled').attr('href', data.link).html("Get Link!");
                }
            }
        });
        event.preventDefault();
    });

以及使用LARAVEL构建的第二个站点:

public function countlink_blog(Request $request) {

        $link_id = $request->link_id;
        $link = Link::where('link_id', $link_id)->get()->first();
        if ($link) {
            $count = new CountController();
        return response()->json(['link' => $link->redirect, 'msg' => '']);
        } else {
            return response()->json(['link' => '', 'msg' => 'Your Link Is Invalid!']);
        }
}

奇怪的是我已经准备好一切,并且POST已成功发送,但是我无法收到任何结果?我不明白为什么?知道我已从此ROUTE中删除了CSRF!

在Laravel中执行此操作的任何方法吗?

1 个答案:

答案 0 :(得分:1)

在Laravel中将路由移动到api.php并设置您的请求标头接受:“ application / json”

$.ajax({     
      headers: {          
        Accept: "application/json"
      }     
      data: "data",    
      success : function(response) {  
        // ...
      }
    });