0

ajaxスクリプトの jQuery 関数に奇妙な問題があります。

私の問題onlyは友人のコンピューターで発生しますが、コンピューターでは何の問題もありません。

エラー関数のプロパティをアラートのエラー内容にしようとしたが、何かstrangeが起こった

$.ajax({
    url : EXECUTION_URL + 'ajax/users.php',
    type : 'POST',
    error : function( err1, err2, err3 ) {
        alert(err2 + ' : ' + err3 + ' , ' + err1.responseText);
    },
    data : {
        'value' : 'val',
        'type' : 'email'
    },
    success : function( data, statusText, xhr ) {
        alert(data)
    },
});

重要な行は : です
alert(err2 + ' : ' + err3 + ' , '+ err1.responseText)
が、発火するのは : だけです'error: , '
なぜこれが起こるのですか?このリクエストの送信エラーを知る方法

4

3 に答える 3

1

$.ajaxSetup()を使用して、次のような正しいエラーを取得してみてください。

$(function() {
    $.ajaxSetup({
        error: function(jqXHR, exception) {
            if (jqXHR.status === 0) {
                alert('Not connect.\n Verify Network.');
            } else if (jqXHR.status == 404) {
                alert('Requested page not found. [404]');
            } else if (jqXHR.status == 500) {
                alert('Internal Server Error [500].');
            } else if (exception === 'parsererror') {
                alert('Requested JSON parse failed.');
            } else if (exception === 'timeout') {
                alert('Time out error.');
            } else if (exception === 'abort') {
                alert('Ajax request aborted.');
            } else {
                alert('Uncaught Error.\n' + jqXHR.responseText);
            }
        }
    });
});

ajax 呼び出しでエラー関数を削除してから、ajax メソッドを呼び出します。何らかのエラーが発生した場合、ajax セットアップはそれをキャッチし、発生したエラーに基づいて適切なアラートを表示します。

于 2013-01-28T13:28:14.633 に答える
0

エラー関数

error : function( err1, err2, err3 ) {  // is equivalent to 

error : function(jqXHR, textStatus, errorThrown)  

Possible values for the second argument (besides null) are "timeout", "error", "abort", and "parsererror". 

おそらくerr2はnullであり、それがerr2の出力が表示されない理由です

于 2012-10-01T19:43:25.217 に答える
0

おそらく、警告しようとしているオブジェクトは文字列に変換できません (警告テキスト用)。を使用してみてくださいconsole.log。そうすれば、何が起こっているのかがわかり、問題を解決できるようになります。

于 2012-10-01T19:22:02.387 に答える