在我的角度应用中,当我尝试制作 REST api 时出现以下错误。
我的代码如下:
角度控制器
$scope.saveTeam = function() {
var club = {};
club.name = $scope.selectedClub;
var service = API.getService();
service.create( {}, { club: club },
function( res ) {
}, function(err) {
console.log("club err : ", err);
});
}
}
Angular Factory
// Clubs service used for communicating with the coaches REST endpoint
angular
.module('app')
.factory('API', ['$resource', 'session', function($resource, session) {
var mainUrl = '/clubs';
return {
getService : function() {
var token = session.getToken();
return $resource(mainUrl, { }, {
createClub: {
method: 'POST',
url: mainUrl,
isArray: false,
headers: { 'Token': token }
}
})
}
}
});
如何解决此错误?在此先感谢。
答案 0 :(得分:0)
安装this chrome扩展程序以避免CORS错误。此错误通常是由于客户端发出的请求中的安全标头。在向服务器发出任何请求之前,请使用下面显示的代码行。
$http.defaults.headers.post["Content-Type"] = "application/json";
答案 1 :(得分:0)
CORS的工作原理是客户端和服务器之间的简单HEADERS游戏。浏览器(客户端)在Origin键中设置案例集中的当前域" http://localhost:9001"。反过来,服务器验证该值是受信任的那些值,并使用密钥Access-Control-Allow-Origin以另一条信息(始终在标题中)进行响应。如果两个值相等,则浏览器使用响应,否则您将出错。
因此,将来您需要配置服务器,但是对于开发,您可以使用“禁用相同原始策略”启动Chrome浏览器。使用禁用安全性时,浏览器不会设置原点,您也不会遇到问题。这是问题所以请检查以下链接: