我正在使用AngularJS 1.5和ngResource。 我有一个对象数组,每个对象包含一个IP地址,我想在迭代中发送HTTP GET请求。例如:
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
我做错了吗?
由于
答案 0 :(得分:2)
根据定义,在XMLHttpRequest上你不能做跨域请求,但你可以探索一些领先。
How to configure Angular $resource (ngResource) to pull data from another domain using CORS
Is it Angular $http.defaults.useXDomain really neccessary in CORS?
请注意ie8 / 9上有一些问题: https://github.com/angular/angular.js/issues/2956