Javascript 来自dirrenet主机的Restangular send 403禁止错误或XMLHttpRequest错误
我编写了这个简单的comet实现Javascript 来自dirrenet主机的Restangular send 403禁止错误或XMLHttpRequest错误,javascript,php,angularjs,phalcon,restangular,Javascript,Php,Angularjs,Phalcon,Restangular,我编写了这个简单的comet实现 var app = angular.module('App', ['restangular', 'Comet']); app.config(function(RestangularProvider) { //RestangularProvider.setBaseUrl('http://localhost/my-rest-api/api/v1/'); RestangularProvider.setBaseUrl('http://[priv
var app = angular.module('App', ['restangular', 'Comet']);
app.config(function(RestangularProvider) {
//RestangularProvider.setBaseUrl('http://localhost/my-rest-api/api/v1/');
RestangularProvider.setBaseUrl('http://[private-ip]/my-rest-api/api/v1/');
RestangularProvider.setDefaultHttpFields({timeout: 60*60*24});
});
var comet = angular.module('Comet', []);
comet.factory('CometService', ['Restangular', function(Restangular){
var cometUrl = Restangular.all('comet');
var asteroid = function(cometUrl, callback){
cometUrl.post({user:"Username"}).then(function(data){
callback(data.plain());
asteroid(cometUrl,callback);
})
};
return {
getComet: function(callback){
asteroid(cometUrl,callback);
}
}
}]);
app.controller('Ctrl', ['$scope', 'CometService', function($scope, CometService){
function callback(data){
console.log(data);
}
CometService.getComet(callback);
}]);
它在localhost中工作得很好,但如果从另一个主机调用API,则不起作用。如果不使用restanglar,同样的代码也可以正常工作。
API是用PHP编写的,带有Phalcon框架,所有CORS头都已设置。所有目录都有777权限。如果我在Restangular中直接使用url,则会出现403错误。所有(url)和XMLHttpRequest(OPTION Angular.js 9827)都会在代码中出现