localhost上的测试Laravel API无法获得响应

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了localhost上的测试Laravel API无法获得响应相关的知识,希望对你有一定的参考价值。

所以,如果我从浏览器中调用它,那么这个laravel get产品api是有效的,正如你从这张图片中看到的那样

enter image description here

这是试图获得此json响应的curl代码块

$url = 'http://localhost:8000/api/products';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
$result = json_decode($data,true);
echo $result;

但我无法得到任何结果,没有回应。我在https://demo0546443.mockable.io/products/getAllProducts中有一个可模拟的api,它产生与我的localhost api几乎相同的json,它返回响应,因为它应该有。请帮忙

解决方案因此,经过无数个小时的研究,似乎需要在静态IP上访问laravel,而不是在localhost上访问。

答案

虽然建议使用像Guzzle这样的库来代替HTTP请求。但是非常乐于实现和使用

另一答案

而不是echo $result尝试return response()->json($data)

echo $result返回标题application/html,而json()返回application/json希望这有帮助。

以上是关于localhost上的测试Laravel API无法获得响应的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 上的 CORS(访问控制允许来源)

如何从Angular向同一域上的Laravel API发送请求?

Laravel 为外部用户登录成功设置会话或令牌 - 无用户仅数据库 Api 用户

Laravel API 404 错误

Laravel 5.4 上的示例 PHPUnit 测试失败并显示 404

未找到 Laravel API 路由