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

Internet Explorer バージョン 9 より前のバージョンにこのコード行を追加することで、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 に答える