IE & Ajax / XPath - PullRequest
       11

IE & Ajax / XPath

0 голосов
/ 10 июля 2011

Я прочитал множество тем и пытался реализовать много разных предложений, но мне не повезло.

первый:

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 Ответ

1 голос
/ 10 июля 2011

Попробуйте return doc.selectSingleNode(path).text; для IE, это самое близкое, что вы можете получить для доступа к строковому значению узла, найденного вашим путем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...