php - 从外部站点向 Laravel 发送 POST 请求
问题描述
我想要一种将 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 中做到这一点?
解决方案
将路由移动到 Laravel 中的 api.php 并设置您的请求标头 Accept: "application/json"
$.ajax({
headers: {
Accept: "application/json"
}
data: "data",
success : function(response) {
// ...
}
});