我正在编写这个 javascript,它将用于其他几个域,这些域调用 php 脚本(仅在我的域上)来返回数组。我正在使用 xmlhttp,在我的域上测试时它工作得很好,但是一旦从单独的域放置或调用 javascript,它就会完全崩溃。有人知道如何跨域请求吗?
注意:我必须执行一个奇怪的小技巧,以允许我进行两个单独的调用,并确保它们在处理之前都被返回。无论如何,这每次在我的域上都运行得很好。
这是调用我的数组 php 代码的 javascript 文件
function getUrls(){
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
xmlhttp2 = new XMLHttpRequest();
}
else {
// code for IE5 and IE6
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
// code for IE5 and IE6
xmlhttp2 = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState == 4 && xmlhttp.status == 200 ) {
parsedJSONurls = JSON.parse(xmlhttp.responseText);
xmlhttp2.open("GET", "http://mydomain.com/connect.php?q=companies", true);
xmlhttp2.send();
}
}
xmlhttp2.onreadystatechange = function(){
if (xmlhttp2.readyState == 4 && xmlhttp2.status == 200) {
parsedJSONcompanies = JSON.parse(xmlhttp2.responseText);
runLoop(parsedJSONurls, parsedJSONcompanies);
}
}
xmlhttp.open("GET", "http://mydomain.com/connect.php?q=urls", true);
xmlhttp.send();
}
尝试将此标头添加到您的 connect.php 文件中
header('Access-Control-Allow-Origin: http://domain1.com, http://domain2.com');
如果您想允许所有域而不是白名单
header('Access-Control-Allow-Origin: *');
https://developer.mozilla.org/en/http_access_control
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)