加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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({});

我得到的错误是:
Access-Control-Allow-Origin不允许使用origin http:// localhost:7000.

XMLHttpRequest无法加载http:// localhost / api / status. Access-Control-Allow-Origin不允许使用origin http:// localhost:7000.

我究竟做错了什么?

我也尝试将允许的原始内容更改为确切的地址,但这没有用

解决方法

这是响应客户端的API,不允许客户端发出CORS请求.
我不知道你使用什么样的后端,但你需要检查你的Access-Control-Allow-Origin设置才能使它工作.

更新:

错误或功能,你将不得不问angularjs团队.他们解释atm:将port作为变量而不是端口.解决方案是逃避:

例:

$resource('http://localhost:1338:1338/api/status',{.....

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读