0

AJAX 機能が Chrome、Firefox、および IE 9 では正常に動作しているが、IE 7 および IE 8 では動作していないという問題に直面しています。

これは私の AJAX コードです。

var url = 'abcd.php';
var dataString = '&id='+id+'&type=mesg';
$.ajax({
    url: url,
    global: true,
    type: "POST",
    data: dataString,
    dataType: "html",
    success: function(msg)
       {
       alert(msg);
           $('#main_data').html(msg);
       }
    });

メッセージまでは正常に動作alertしますが、出力は表示されません。

私を助けてください。

4

3 に答える 3

1

jquery version 2+サポートしていないものを使用していると思います< IE 9

IE 6/7/8 のサポートは終了しました: Remember that this can also affect IE9 and even IE10 if they are used in their “Compatibility View” modes that emulate older versions. To prevent these newer IE versions from slipping back into prehistoric modes, we suggest you always use an X-UA-Compatible tag or HTTP header. If you can use the HTTP header it is slightly better for performance because it avoids a potential browser parser restart.

jquery-2-0-releasedを読む

したがって、これを使用するjquery version 1.9 for older versions of IE like IE 6,7,8 か、これをhtml page

<!--[if lt IE 9]>
<script src="jquery-1.9.0.js"></script>
<![endif]-->
<!--[if gte IE 9]>
<script src="jquery-2.0.0.js"><</script>
<![endif]-->
于 2013-07-19T05:18:15.873 に答える
0

このコードを使用してください

$.support.cors= true;
var url = 'abcd.php';
var dataString = '&id='+id+'&type=mesg';
$.ajax({
async: false,
url: url,
global: true,
type: "POST",
data: dataString,
dataType: "html",
success: function(msg)
   {
   alert(msg);
       $('#main_data').html(msg);
   }
});
于 2013-07-19T05:57:38.790 に答える
0

UTF-8 を使用して AJAX 応答をエンコードしている場合、IE はそれを自動的に判別できず、「システム エラー 1072896658」という例外をスローします。

AJAX でも IE で

詳細については、http: //keelypavan.blogspot.com/2006/07/system-error-1072896658-in-ie.htmlも参照してください。

次に、ここに解決策があります。エンコーディングを宣言するには、abcd.php に HTTP ヘッダーを追加する必要があります。

例えば

<?php

//... do something
header('Content-Type: text/html; charset=utf-8');
echo $resonse_text;
于 2013-07-19T06:05:51.347 に答える