我创建了safari扩展,并在此扩展中注入了js。在这个JS代码中,我发送ajax调用,在控制台中创建以下错误。 “访问控制允许标头不允许请求标头字段X-Requested-With” 这是我的代码:
这个函数我从网上复制来解决跨域问题,但它不起作用请帮我弄明白。
function createCORSRequest(method, url) {
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr) {
// XHR has 'withCredentials' property only if it supports CORS
xhr.open(method, url, true);
} else if (typeof XDomainRequest != "undefined") { // if IE use XDR
xhr = new XDomainRequest();
xhr.open(method, url);
} else {
xhr = null;
}
return xhr;
}
var request = createCORSRequest("get", "https://www.karmora.com/list.xml");
if (request) {
// Define a callback function
request.onload = function () {
};
// Send request
request.send();
}
$.get('https://example.com', function (data) {
alert("Ajax call successfull");
});
答案 0 :(得分:1)
您的问题与Same-origin_policy
有关如果您有权访问服务器,请向Apache Web Server虚拟主机配置添加以下设置:
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept"