3

以下代码在 Internet Explorer 9 和 10 上运行良好,但在 Internet Explorer 7 和 8 中没有结果。

$.ajax({
    url: url,
    cache: false,
    async: true,
    success: function(req, textStatus, obj) {
    },
    error: function(req, error, exc) {
        alert(req.responseText);
    } 
});

Ajax 请求调用的 URL 的结果是:

<?xml version="1.0"?>
<BRILJANT>
    <VP>
        <NETTOVP>45,4545</NETTOVP>
        <NETTOVPINCL>55</NETTOVPINCL>
        <BRUTOVP>45,4545</BRUTOVP>
        <BRUTOVPINCL>54,9999</BRUTOVPINCL>
        <ORIVP>55,43</ORIVP>
        <ORIVPINCL>67,0703</ORIVPINCL>
        <KORTING1>0</KORTING1>
        <KORTING2>0</KORTING2>
        <SOORTPRIJS>P</SOORTPRIJS>
    </VP>
    <TEL>
        <VOORRAAD>0</VOORRAAD>
        <INBACKLEV>0</INBACKLEV>
        <INBACKKLA>6</INBACKKLA>
        <CONSIGN>0</CONSIGN>
        <MAGCTRL>0</MAGCTRL>
        <INPROD>0</INPROD>
        <OPAFLEVER>0</OPAFLEVER>
        <VOORRRES>0</VOORRRES>
        <VOORZPROD>0</VOORZPROD>
    </TEL>
</BRILJANT>

在 Internet Explorer 7 和 8 中,即使没有提及错误消息,请求对象内容也是空的。

任何想法都非常感谢!

4

2 回答 2

1

通过为低于 9 的 Internet Explorer 版本添加这行代码,DOM 对象被正确填充!

$.ajax({
    url: url,
    cache: false,
    async: true,
    success: function(req, textStatus, obj) {
        >> if (ie < 9)
        >>    req = $.parseXML(obj.responseText);**
    },
    error: function(req, error, exc) {
        alert(req.responseText);
    } 
});
于 2013-06-09T09:26:34.747 回答
1

jQuery 2.0 放弃了对 oldIE (<9) 的支持,因此如果您使用的是最新版本,则可能与 IE7 和 8 不兼容,因此您最多应该使用 1.10 版本。如果您使用的是 1.X 版本,那么提供该版本会很有帮助,因为您可能正在使用具有已知错误的版本。

于 2013-05-30T21:06:45.237 回答