我做了一個簡單的節點服務器,我需要它作爲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,所以你不能這樣做 –