从外部站点向 Laravel 发送 POST 请求
Posted
技术标签:
【中文标题】从外部站点向 Laravel 发送 POST 请求【英文标题】:Send POST request from an external site to Laravel 【发布时间】:2020-05-11 01:35:00 【问题描述】:我想要一种方法将 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 中有什么方法可以做到这一点?
【问题讨论】:
看这里你需要解析来自php的错误***.com/questions/59489824/… 尝试使用 Postman 应用检查您的 Laravel 是否响应请求 没有错误,但是如果我输入一个像 echo "Hi"; 这样的文本,我可以看到响应,但是如果我使用 response()->json( []); 这里的响应是空的! :( 【参考方案1】:将路由移动到 Laravel 中的 api.php 并设置您的请求标头 Accept: "application/json"
$.ajax(
headers:
Accept: "application/json"
data: "data",
success : function(response)
// ...
);
【讨论】:
以上是关于从外部站点向 Laravel 发送 POST 请求的主要内容,如果未能解决你的问题,请参考以下文章
WAMP Laravel - 从一个本地站点向另一个站点发送API请求混合了环境变量
如何从外部 API 获取 $_POST 数据 - LARAVEL
向 laravel 服务器发送 POST 请求时获取 "message":"Unauthenticated."