在API网关中启用CORS

时间:2015-03-16 21:55:07

标签: angularjs http cors

我正在制作Cordova应用程序。我需要用Angular做一个简单的GET请求。

我不断收到消息: “跨源请求已阻止:同源策略禁止在http://myserver/AuthenticateMe读取远程资源。可以通过将资源移动到同一域或启用CORS来解决此问题。”

我以为我在回复中添加了所有必要的标题。这是完整的标题:

"Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept

Access-Control-Allow-Origin: *

Content-Encoding: gzip

Content-Length: 76

Content-Type: application/json;charset=UTF-8

Date: Mon, 16 Mar 2015 21:37:56 GMT

Server: Apache-Coyote/1.1"

我在Firefox和Chrome中试过这个。

这非常烦人,因为我在做本机iOS和Android请求时从未遇到过服务器问题。

我在这里遗漏了什么吗?

2 个答案:

答案 0 :(得分:1)

你试过jsonp吗?

类似的东西:

$http.jsonp(API_URL + "/?callback=JSON_CALLBACK")
.success(function(data) {
    // blah blah
})
.error(function() {
    console.log("couldn't fetch.");
})
.finally(function() {
    // blah blah
});

答案 1 :(得分:1)

猜测,但我认为你还需要指定你想要允许哪些HTTP动词用于CORS。

Access-Control-Allow-Methods: *

Access-Control-Allow-Methods: GET, POST, PUT, DELETE