gpt4 book ai didi

javascript - 多个子域请求上的 Angularjs 'Access-Control-Allow-Origin'

转载 作者:行者123 更新时间:2023-11-29 21:45:58 32 4
gpt4 key购买 nike

我想检查一下,我知道 JavaScript 代码受同源策略的限制,这意味着如果我尝试向任何外国来源发出请求,我将被“Access-Control-Allow-Origin”捕获' 错误,只要我可以在 header 中定义它就可以了。我的问题是,我不确定我的做法是否正确,因为我没有看到根据请求将任何值传递给 header 。这是我的 Angular 代码:(注意我正在使用 $resource 来处理所有请求)

var SomeApp = angular.module('SomeApp',['ngResource','ngSanitize'])
SomeApp.factory('SomeAppService', ['$resource', function($resource){

return {
firstActions : $resource(svrid('acns') + '/action/:payload',{payload:'@payload'},
{
'remove': {method:'DELETE',isArray:true, cache:false},
'save' : {method:'POST', isArray:true, cache:false, headers:{'X-CSRF-TOKEN': CSRF_TOKEN, 'Access-Control-Allow-Origin': '*'}},
'query' : {method:'GET', isArray:true,cache:false},
}, {cache:false}
),

//some more other functions
};

}]);

如您所见,我已经在其中一个文件中包含了 headers:{'X-CSRF-TOKEN': CSRF_TOKEN, 'Access-Control-Allow-Origin': '*'} post 方法,但是在执行操作时,浏览器控制台仍然提示我这个错误

XMLHttpRequest cannot load http://acns.example.com:8000/action/rIqj7RVUdeFVwkp36uxjCUzlYAXaTKwBeyJjdCMxZjk3OWU1NGQwYzRjODFlYWRjNDFkYzAyMGE1ZCIsInMiOiJmMTU4MDZjOWM1YjFlNWFjIn0=. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://www.example.com:8000' is therefore not allowed access.

在这种情况下我缺少什么?另外我也想问问是否可以让header应用于整个firstAction函数?正如我在 AngularJS documentation on $http 中读到的那样它适用于特定 Action 本身。我正在使用 AngularJS 1.3.15

请赐教任何可能的解决方案。谢谢

更新 1:我通过 barryvdh 安装了一个模块,部分解决了问题,但由于某些原因未 100% 完成 errors在这个新主题中找到。希望有人能关闭这个话题。

最佳答案

Access-Control-Allow-Origin 是一个响应头。你可以理解这篇关于CORS的阅读. (指定阅读简单示例)

在我的例子中,我可以用这个 gem rack-cors 来管理它,在 laravel 中,我为 laravel Cors 找到了这个包 https://github.com/barryvdh/laravel-cors

关于javascript - 多个子域请求上的 Angularjs 'Access-Control-Allow-Origin',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31175430/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com