ステータス コード 500 を返すサーバーがあり、jQuery フォームはエラー コールバックではなく成功コールバックを呼び出します。
jQuery バージョン: 1.7.1
jQuery フォーム バージョン: 2.73 2011 年 3 月
サーバー apache2
これらはいくつかのコード スニペットです。
var options =
{
error : on_upload_error
, success : on_upload_succes
};
// bind form using 'ajaxForm'
$( '#upload-form' ).ajaxForm( options );
function on_upload_error( jqXHR, textStatus, errorThrown )
{
console.log( "in error function" );
}
function on_upload_succes( responseText, statusText, xhr, form )
{
console.log( 'responsText: ' + responseText );
console.log( 'statusText: ' + statusText );
console.log( xhr );
console.log( form );
// ....
}
サーバーからのヘッダーは私には正しいようです:
HTTP/1.1 500 Internal Server Error
Date: Wed, 09 May 2012 18:35:11 GMT
Server: Apache/2.2.16 (Debian)
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 405
Connection: close
Content-Type: text/html; charset=iso-8859-1
これを「in error function」と表示することはできません。さらに、on_upload_success に返される statusText パラメータには、文字列「success」が含まれています。
すべての手がかりを歓迎