无法设置 Access-Control-Allow-Origin 请求 header
Can't set Access-Control-Allow-Origin request header
我向 food2fork api 发出了 AJAX 请求,但无法通过 否 'Access-Control-Allow-Origin' header 是存在 错误。我已经尝试在 beforeSend
中设置 header 并设置 crossDomain: true
但它没有用。
这是我的 AJAX 电话:
$.ajax({
type: "GET",
dataType: 'json',
url: url,
crossDomain: true,
beforeSend: function(xhr) {
xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
},
success: function(data){
console.log('in ajax json call');
console.log(data);
$('#info').html(JSON.stringify(data));
}
});
我尝试在节点 express.js 中设置请求 header 服务器端:
router.get('/test', cors(), function(req,res)
{
res.set("Access-Control-Allow-Origin", "*"); //set header here
res.render('exampleSearch', {title: 'FM | Test'});
});
Cors是一个npm包,设置了cross-reference权限,但没有帮我解决问题。
你能告诉我我做错了什么吗?
Client-side 请求在这种情况下不起作用。我必须做请求服务器端:
router.post('/test', function(req,res){
var callback = function(response){
var str = '';
//another chunk of data has been recieved, so append it to `str`
response.on('data', function (chunk) {
str += chunk;
});
//the whole response has been recieved
response.on('end', function () {
var recipes = JSON.parse(str);
//do something with recipes
});
}
var options = {
host: "food2fork.com",
path: "/api/search?key=[myKey]&q=" + ingredients
};
http.request(options,callback).end();
});
使用的代码来自 nodejitsu.com
我向 food2fork api 发出了 AJAX 请求,但无法通过 否 'Access-Control-Allow-Origin' header 是存在 错误。我已经尝试在 beforeSend
中设置 header 并设置 crossDomain: true
但它没有用。
这是我的 AJAX 电话:
$.ajax({
type: "GET",
dataType: 'json',
url: url,
crossDomain: true,
beforeSend: function(xhr) {
xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
},
success: function(data){
console.log('in ajax json call');
console.log(data);
$('#info').html(JSON.stringify(data));
}
});
我尝试在节点 express.js 中设置请求 header 服务器端:
router.get('/test', cors(), function(req,res)
{
res.set("Access-Control-Allow-Origin", "*"); //set header here
res.render('exampleSearch', {title: 'FM | Test'});
});
Cors是一个npm包,设置了cross-reference权限,但没有帮我解决问题。
你能告诉我我做错了什么吗?
Client-side 请求在这种情况下不起作用。我必须做请求服务器端:
router.post('/test', function(req,res){
var callback = function(response){
var str = '';
//another chunk of data has been recieved, so append it to `str`
response.on('data', function (chunk) {
str += chunk;
});
//the whole response has been recieved
response.on('end', function () {
var recipes = JSON.parse(str);
//do something with recipes
});
}
var options = {
host: "food2fork.com",
path: "/api/search?key=[myKey]&q=" + ingredients
};
http.request(options,callback).end();
});
使用的代码来自 nodejitsu.com