我试图从一个应用程序向另一个应用程序发出请求。所以我创建了一些我的应用程序所需的头文件,并填入了Ajax请求。这是我的代码:
$.ajax({
method: 'GET',
url: 'http://my-domain.com/apps/filters/get-filters',
beforeSend: function(request){
request.setRequestHeader("X-Webshop-Domain", window.location.host);
request.setRequestHeader("X-Language", $('html').attr('lang'));
request.setRequestHeader("X-Request-Protocol", window.location.protocol);
request.setRequestHeader("X-Api-Version", '2');
},
headers: {
"X-Webshop-Domain": window.location.host,
"X-Language": $('html').attr('lang'),
"X-Request-Protocol": window.location.protocol,
"X-Api-Version": '2',
},
data: {}, success: function ( response )
{
}
});
现在,当我加载页面时,会调用此方法,但不会给出响应。它给了我#34;标题不允许"问题。但是,当我检查我的网络选项卡(开发人员工具Chrome)时,我看到了我的请求,我看到了一些标题,但没有一个。有没有人知道这是可能的或者我做错了什么?
答案 0 :(得分:1)
如果是CORS(跨域请求),则只允许使用基本标头。您需要将要发送的标头添加到服务器的响应标头中:
Access-Control-Allow-Headers: X-Webshop-Domain, ...
以下是您可能会觉得有用的相关问题:Ajax Request header field Key is not allowed by Access-Control-Allow-Headers