Ajax Can';t设置访问控制允许原始请求标头
我向api发出AJAX请求,但无法通过无“Access Control Allow Origin”(访问控制允许源站)标头获取。出现错误。我曾尝试在发送前设置Ajax Can';t设置访问控制允许原始请求标头,ajax,xmlhttprequest,Ajax,Xmlhttprequest,我向api发出AJAX请求,但无法通过无“Access Control Allow Origin”(访问控制允许源站)标头获取。出现错误。我曾尝试在发送前设置标题,并设置crossDomain:true,但没有成功 这是我的AJAX调用: $.ajax({ type: "GET", dataType: 'json', url: url, crossDomain: true, beforeSend: function(xhr) {
标题,并设置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));
}
});
我尝试在node express.js中设置请求头服务器端,方法是:
router.get('/test', cors(), function(req,res)
{
res.set("Access-Control-Allow-Origin", "*"); //set header here
res.render('exampleSearch', {title: 'FM | Test'});
});
是一个npm包,它设置了交叉引用权限,但没有帮助我解决问题
你能告诉我我做错了什么吗?客户端请求在这种情况下不起作用。我必须在服务器端执行请求:
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();
});
使用了来自的代码,这是一个响应标题。在响应中发送时会发生什么?@SLaks我不确定在响应中发送时会发生什么,我是服务器端编码的乞丐:)我猜它只是分配了一个参数,而这个参数没有任何作用。我删除了它,同样的错误也发生了,你能帮忙吗?