angularjs – CORS with angular.js $resource和ServiceStack Se
发布时间:2020-12-17 17:48:35 所属栏目:安全 来源:网络整理
导读:我有一个服务栈REST服务和一个angular.js客户端. Web托管在另一个端口上,然后是RESTService. 使用$http检索数据但使用$resource不起作用. 在REST服务中,我设置了以下全局标头: GlobalResponseHeaders = { { "Access-Control-Allow-Origin","*" },{ "Access-
我有一个服务栈REST服务和一个angular.js客户端. Web托管在另一个端口上,然后是RESTService.
使用$http检索数据但使用$resource不起作用. 在REST服务中,我设置了以下全局标头: GlobalResponseHeaders = { { "Access-Control-Allow-Origin","*" },{ "Access-Control-Allow-Methods","GET,POST,PUT,DELETE,OPTIONS" },{ "Access-Control-Allow-Headers","X-Requested-With"} } 现在在angular.js中我可以读取成功读取$http的方法 $http({ method:'get',url:address,requesttype:'application/json' }).success(function(data) { $scope.ServiceStatus = data; }); 但使用$ressource读取相同的地址不起作用 myApp.factory('qaServiceStatus',function($resource){ return $resource('http://localhost:1338/api/status',{},{ query: {method:'GET',headers: {'Content-Type': 'application/json'},params:{}} }); }); 我在控制器中以这种方式使用它 $scope.RESTStatus = qaServiceStatus.get({}); 我得到的错误是: 我究竟做错了什么? 我也尝试将允许的原始内容更改为确切的地址,但这没有用 解决方法
这是响应客户端的API,不允许客户端发出CORS请求.
我不知道你使用什么样的后端,但你需要检查你的Access-Control-Allow-Origin设置才能使它工作. 更新: 错误或功能,你将不得不问angularjs团队.他们解释atm:将port作为变量而不是端口.解决方案是逃避: 例: $resource('http://localhost:1338:1338/api/status',{..... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |