我的js代码无法处理通过ajax加载的文档。
以下是ajax代码:
var xhr;
xhr = new XMLHttpRequest();
function xhrDocOpen(doc,placeID){
xhr.onreadystatechange=function(){
if(xhr.readyState==4 && xhr.status==200){
document.getElementById(placeID).innerHTML=xhr.responseText;
}
}
xhr.open('GET',doc,true);
xhr.send();
}
如您所见,它是纯粹的js代码。不要使用jquery。我在这里看到了一些解决方案,它们都使用了jquery ..(例如:success {js code})
但我想用纯js代码解决问题。
我该怎么做?
答案 0 :(得分:0)
问题在于,在执行纯js时,并非所有浏览器的工作方式都相同(这实际上是jquery所做的事情之一,根据浏览器的不同实现相同的功能)
根据浏览器的不同,创建用于加载文档的xhr可以通过几种不同的方式完成:
xhr = new XMLHttpRequest()
xhr = new window.ActiveXObject("Microsoft.XMLDOM")
xhr = document.implementation.createDocument("","",null);
因此,您需要考虑这些因素,如果您想要异步或同步加载文件,那么情况会更糟。
此答案假定您要从磁盘加载文件而不是从Web服务器加载文件。但答案仍然是至少有两种方法可以根据浏览器执行ajax请求。如果您不想处理所有这些(并在新的浏览器版本出现时进行更改),请使用jquery。