1

正常な応答を検出できますが、エラーを検出できません。私のコード:

$.ajax({
        url: url,
        dataType: 'jsonp',      
        success: function(data){
            $.each(data, function(a, b) { 
                if(b=="Processing post"){
                    $("#post_response").html('Your comment will be added soon...'); 
                }
                else if(b=="In moderation"){
                    $("#post_response").html('Your comment has been placed in moderation...');  
                }
            })
        },
        error: function(xhr, testStatus, error) {
            alert("error");
        }
    });

これらは私が受け取っている応答です。最初の 2 つの応答は検出できますが、最後の応答に対して「エラー」を警告することさえできません。

jQuery191004289518775843171_1361906819321({"Message":"Processing post","Code":202})

jQuery191006158838421090984_1361907415719({"Message":"In moderation","Code":202})

jQuery191006158838421090984_1361907415719({"Message":"Not logged in","Code":403})

私が間違っているところがわかりますか?

4

1 に答える 1

2

The error callback is only used for server error responses (i.e. HTTP Status Code 4xx/5xx Errors). Since all three of your responses are valid (i.e. they return a HTTP Status Code of 200), they trigger the success callback.

于 2013-02-26T19:47:40.390 に答える