发生异常时不会返回任何错误,而是“No-Access-Control-Allow-Origin”

时间:2016-03-09 18:07:28

标签: php laravel cors

我已经将相似的问题发布到另一个帖子,我发布的原因是我深入了解问题并且可以解释得更多。

实际问题:我使用的是 barryvdh / laravel-cors 中的库,当错误/异常发生时,此库未设置标题并且一直说请求的资源上没有' Access-Control-Allow-Origin '标题。

假设我有一个像这样的简单函数:

public function store(Request $request){
    return response()->json(['message' => 'coming without any problem']);
}

完全正常,我的另一种情况是语法错误:

public function store(Request $request){
    return response()->json(['message' => 'coming with problem'); // missing ']' before the end parenthesis....
} 

这通常会引发Laravel的异常,但对我来说它显示' Access-Control-Allow-Origin '。

好吧,你可能会问,为什么我需要这个来修复,是因为当我的代码更复杂时,我没有看到会帮助我修复它或至少google它的实际错误...

之前有任何人有同样的问题,并且知道如何解决这个问题? 我正在使用Laravel 5.0

1 个答案:

答案 0 :(得分:2)

这与“跨源HTTP请求”有关,可能是前端和后端问题的混合。

http://www.html5rocks.com/en/tutorials/cors/

您可能需要更改Web服务器设置或脚本文件夹中的.htaccess文件中的某些设置。

请检查:http://enable-cors.org/server.html

就前端而言,Mozilla对CORS更加保守,所以请查看他们的文档。如果你为firefox做得好,它也适用于其他浏览器。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS