我有一个服务器返回状态代码 500,并且我的 jQuery 表单调用成功回调而不是错误回调。
jQuery 版本:1.7.1
jQuery 表单版本:2011 年 3 月 2.73
服务器 Apache 2
这些是一些代码片段:
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 );
// ....
}
来自服务器的 header 对我来说似乎是正确的:
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
我无法让它显示“错误函数”。最重要的是,返回到 on_upload_success 的 statusText 参数包含一个字符串“success”。
欢迎所有线索
最佳答案
您应该使用 alert(xhr.responseText);
查看关联的错误消息。
关于javascript - jQuery 表单插件 - 不会在内部服务器错误 (500) 上调用错误回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10521217/