我很困惑。我正在尝试使用Web服务来获取数据。当我将url放入浏览器时,它运行良好并返回我期待的json。
如果angular是客户端框架,为什么在做出完全相同的请求时不成功?它来自我的浏览器,但接收域仍然是barfs。
我错过了什么?
答案 0 :(得分:0)
拥有该服务的任何人都需要配置CORS(跨域资源共享),以允许您的特定域访问该服务或允许所有域访问该服务。然后,您需要配置正确的标头,以便在发出请求时将您的源和凭据发送到您尝试访问服务的源,以便它可以决定是否允许您访问该端点或拒绝该请求。以下是CORS概述和设置指南的首选网站:http://enable-cors.org/。
您还需要在http请求配置对象上将withCredentials
标志设置为true。
实施例
$http({
url : 'url of service',
method : "POST",
data : {
test : name
},
withCredentials : true,
headers : {
'Content-Type' : 'application/json; charset=utf-8'
}
});
有关角度配置的更多信息,请访问$ doc服务的angular docs网站。