1

我正在使用 AngularJS 1.5 和 ngResource。我有一个对象数组,每个对象都包含一个我想在迭代中向其发送 HTTP GET 请求的 IP 地址。例如:

var arr = [{ip: '127.0.0.1', name: 'myHost'},{ip: '1.2.3.4', name: 'differentHost'}]
arr.forEach(function (obj) { // Send requests to obj.ip });

如果我使用 $http 服务并且只是连接 IP 地址,它工作正常。但是,我想使用 $resource 服务,因为我有一组操作,但是当我使用 $resource 这样做时,它不会将我的主机名/IP 地址视为参数。

    var Host = $resource('http://:ip:49221/:action', { ip: '@ip' }, {
       status: {method: 'GET', params: {action: 'currentStatus'} }
    });
    Host.status({ip: '1.2.3.4'}).$promise.then(function (res) {
        console.log(res);
    });

我得到: XMLHttpRequest 无法加载http://:ip:49221/currentStatus

Plunker:http ://plnkr.co/edit/d9roMDWEbPpyG5upKSrv?p=preview

难道我做错了什么?

谢谢

4

1 回答 1

2

根据定义,在 XMLHttpRequest 上,您不能进行跨域请求,但您可以探索一些线索。

如何配置 Angular $resource (ngResource) 以使用 CORS 从另一个域中提取数据

Angular $http.defaults.useXDomain 在 CORS 中真的有必要吗?

请注意 ie8/9 上存在一些问题: https ://github.com/angular/angular.js/issues/2956

于 2016-02-16T13:28:36.700 回答