4

jquery ajaxリクエストの状況があります。

<script type="text/javascript">
$(document).ready(function() {
    $.ajax({
        type: "POST",
        async: false,
        cache: false, 
        url: "/ajax/script.php",
        data: { display: 'user', user_id: '1'}
    }).done(function( msg ) {
        if (msg !== "") {
            alert(msg);
        }
    });
});
</script>

Chrome と Firefox では、スクリプトによって HTML コードを生成しました/ajax/script.php IE8 では (6、7、および 9+ では試していません)Undefined

誰かがそれを修正する方法を知っていますか?

編集: jquery 1.7.2を使用しています

4

3 に答える 3

4

MIMEType を返すとapplication/json; charset=utf8、IE8 でこれと同じ動作が発生しました。application/json;それをIE8に変更すると、魔法のように機能し始めました。

于 2013-07-12T16:35:16.163 に答える
1

「msg」を定義していないため、未定義です。done() は、関数、複数の関数、または何も引数として期待しません。

ajax呼び出しからのコールバックが必要な場合は、使用する必要があります

    $.ajax({
        type: "POST",
        async: false,
        cache: false, 
        dataType: 'text',
        url: "/ajax/script.php",
        data: { display: 'user', user_id: '1'},
        success: function(data) {
            // do something
        }

    });

編集:役立つ場合はjquery 1.7.2を使用しています

于 2012-08-27T10:14:05.037 に答える
1

次からコードを変更する問題を解決しました。

response.setCharacterEncoding("UTF8");

に:

response.setCharacterEncoding("UTF-8");
于 2014-01-04T18:34:29.217 に答える