我想在纯javascript ajax中捕获跨域响应,而不是使用jquery或其他外部库。
var xmlhttp, response;
try {
xmlhttp = new XMLHttpRequest();
} catch(e) {
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e2) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4) {
if(callback != undefined) {
console.log(xmlhttp.responseText);
}
}
}
url = "http://xxxx.com/layer.php?callback=callRes";
xmlhttp.open("GET", url, false);
xmlhttp.setRequestHeader("Content-Type",
"application/json,application/javascript,text/javascript");
xmlhttp.send();
花了很多时间和谷歌搜索,但没有找到任何解决方案
建议是最受欢迎的,但不是脚本方法只有纯javascript ajax
答案 0 :(得分:0)
我假设你想在控制台中看到响应。
在致电console.log()
之前,您正在检查callback
是否存在。在给定的代码段中callback
尚未定义,因此这可能是阻止xmlhttp.responseText
输出的唯一障碍。
解决方案:移除if (callback != undefined)
,然后致电console.log(xmlhttp.responseText)