我已经阅读了无数的线程并试图实施许多不同的建议,但没有任何运气。
第一
function ajaxRequest() {
try {
var request = new XMLHttpRequest();
}
catch(e1) {
try {
var request = new ActiveXObject("Msxml2.HTMLHTTP");
}
catch(e2) {
try {
var request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e3) {
var request = false;
}
}
}
return request;
}
看起来IE正在成功使用XMLHttpRequest。据我所知,它正在加载XML,但Xpath是另一个故事:
function XMLPath(doc, path) {
try {
return doc.evaluate(path, doc, null, XPathResult.STRING_TYPE, null).stringValue;
} catch (e) {
try {
doc.setProperty("SelectionLanguage", "XPath");
return doc.selectNodes(path);
}
catch(e2) {
alert(e2);
}
}
}
基本上,我必须在catch语句中更改哪些内容才能使其与IE一起使用?有趣的是,它从不警告e2错误,这意味着它实际上并没有引发错误。完全糊涂了。
感谢。
答案 0 :(得分:1)
尝试return doc.selectSingleNode(path).text;
用于IE,这是您访问路径找到的节点的字符串值时最接近的。