我正在制作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请求时从未遇到过服务器问题。
我在这里遗漏了什么吗?
答案 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