我正在尝试修补一些在Chrome中不起作用的AJAX。这不是我的脚本,我宁愿不把整个事情转换为jQuery。
xmlhttp.open("GET", query, true);
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4) {
console.log(xmlhttp.responseText);
}
}
xmlhttp.send();
这实际上在使用Internet Explorer时会在日志中输出内容,但是在(Ch)rome中我得到一个空字符串,因为JS调试器告诉我GET
失败了。目标URL是正确的,因为它在IE中工作,但它是某种ASP.NET脚本,其中我不熟悉的内部工作(我在这里做HTML,CSS和JavaScript)。
为什么允许IE从目标中检索信息,而不是Chrome?使用Chrome时,xmlhttp
为XMLHttpRequest
,IE会获得某种ActiveXObject
。
编辑。我找到了一些可能的解决方案here。 Response.Close()
,没有异步或指定/空数据类型。这是jQuery。
答案 0 :(得分:2)
您可以在Chrome中的地址栏中输入网址来查看该网址吗?您的浏览器配置可能会阻止Chrome访问服务器。
另一种可能性是你被Same Origin Policy打破了 - 你在与该页面相同的域上访问的网址是什么?
答案 1 :(得分:0)
好的,我已经解决了。 Chrome显然不喜欢在请求的页面末尾有Response.Close()
。更改为Response.End()
修复它。谢谢你的帮助!
我还用一行jQuery代替了JavaScript。