Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 不允许';访问控制允许原点';拉威尔的收割台_Php_Angularjs_Laravel_Nginx - Fatal编程技术网

Php 不允许';访问控制允许原点';拉威尔的收割台

Php 不允许';访问控制允许原点';拉威尔的收割台,php,angularjs,laravel,nginx,Php,Angularjs,Laravel,Nginx,如何允许laravel请求的上不存在“访问控制允许原点”标题?因为当我尝试使用angular.js来$http.get()某个url时,我总是会出错。哦,明白了。我只需要在我的应用程序中添加前过滤器 filters.php App::before(function($request) { header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Methods: GET, POST, OPTION

如何允许laravel
请求的
上不存在“访问控制允许原点”标题?因为当我尝试使用angular.js来
$http.get()
某个url时,我总是会出错。

哦,明白了。我只需要在我的应用程序中添加前过滤器

filters.php

App::before(function($request)
{
    header('Access-Control-Allow-Origin: *');
    header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
    header('Access-Control-Allow-Headers: Origin, Content-Type, Accept, Authorization, X-Requested-With');
    header('Access-Control-Allow-Credentials: true');
});

我不认为这是一个好主意,因为您可能会向许多问题以及任何能够使用您的API的人敞开大门。您在angular中使用的GET url是什么?您所做的是允许跨源请求共享(CORS),这意味着任何地方的任何人都可以与您的API交互。仅当angular脚本位于另一个域上时,才应执行此操作,在这种情况下,请将第一个标题更改为
'Access-Control-Allow-Origin:
。如果所有内容都存储在同一个域中,如果您在apache中创建一个virtualhost,比如
crowdproject.local
,您的脚本可以调用
crowdproject.local/api
,您不需要设置这些头文件。在尝试了两个小时的各种版本后,这一切都正常了,谢谢。