IE& Ajax / XPath

时间:2011-07-10 15:09:19

标签: ajax xpath internet-explorer-8

我已经阅读了无数的线程并试图实施许多不同的建议,但没有任何运气。

第一

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错误,这意味着它实际上并没有引发错误。完全糊涂了。

感谢。

1 个答案:

答案 0 :(得分:1)

尝试return doc.selectSingleNode(path).text;用于IE,这是您访问路径找到的节点的字符串值时最接近的。