jQuery Formプラグインを使用して、Ajax でフォーム送信を処理しています。
$('.login-form').ajaxForm({
dataType: 'json',
success: function(data){
console.log('Success!');
console.log(data);
},
error: function(data){
console.log('There was an error:');
console.log(data);
}
})
送信後、ajax はステータス「200」のエラーを返します。これは JSON 形式の応答です。
{
"success": false,
"heading": "The following errors were encountered",
"message": "<ul><li>The existing username and/or password you submitted are not valid</li></ul>"
}
jsonlint.comでそれを実行したところ、有効として返されました。
Chrome の Network タブでは、レスポンスは type として返されapplication/json
ます。
では、なぜ ajax は「成功」ではなく「エラー」を返すのでしょうか?
jQuery1.9.1