Angular发出CORS请求

时间:2014-10-24 18:04:20

标签: angularjs cors

我很困惑。我正在尝试使用Web服务来获取数据。当我将url放入浏览器时,它运行良好并返回我期待的json。

如果angular是客户端框架,为什么在做出完全相同的请求时不成功?它来自我的浏览器,但接收域仍然是barfs。

我错过了什么?

1 个答案:

答案 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网站。