我做了一个简单的节点服务器,我需要它作为Cross Origin的$http.get()
调用,所以我将所需的标题添加到app.use
作为this的答案中的详细信息。最后,服务器代码 -
var express = require('express');
var app = express();
var port = process.env.PORT || 3000;
app.use(express.static('.'));
app.all('/', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
next();
});
app.listen(port);
console.log('server runs on port: ' + port);
在我index.html
有角$http.get()
调用到另一个起源 -
$http.get('http://itunes.apple.com/search', {
term: 'johnson'
});
但还是这个调用是由浏览器拒绝,并返回错误 -
XMLHttpRequest cannot load https://itunes.apple.com/search. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
我怎样才能让Cross Origin $http.get
正确地拨打index.html
?
为什么允许在自己的网络服务器CORS并等待其将允许苹果的服务器上? –
我是新的节点,请给我一个解决方案,如果yoe有.. – URL87
简短的回答:这是不可能的,从您的网页进行跨域请求,而CORS是不允许在服务器上。由于你没有控制iTunes,所以你不能这样做 –