【发布时间】:2010-11-23 16:10:55
【问题描述】:
我们正在使用 jQuery(1.2.3) ajax 发布,我们偶尔会收到 12031/501 错误消息。
此错误的原因可能是什么?
示例代码
jQuery.post('${pageContext.request.contextPath}/sample/someAction.do', jQuery("#form_name").serialize(), function(status){
//Some other code for checking the status......
}
表单有两个文本区域(一个禁用,一个启用)和一个复选框。还有一个提交按钮。
还有一个 ajax 错误处理函数用于处理 12031/501 类型的错误消息。有时会显示一个警告框,说明 ajax 帖子中发生了错误。
$("#form_name").ajaxError(function(event, xhr, settings, exception) {
var errorMessage = "Error in ajax post -";
errorMessage += "\n\t url: " + settings.url;
errorMessage += "\n\t exception: " + exception + ((exception) ? " - " + exception.description : "");
errorMessage += "\n\t readyState: " + xhr.readyState;
errorMessage += "\n\t status: " + xhr.status;
errorMessage += "\n\t statusText: " + xhr.statusText;
errorMessage += "\n\t responseText: " + xhr.responseText;
errorMessage += "\n\t";
alert('Error occured in ajax post..........'+errorMessage);
});
只有在 ajax post 出现错误且错误代码为 12031(与服务器的连接已重置。)或 501/12152 时才会显示此警告框。
现在我们可以看到另外一个错误代码是 12152(服务器返回了无效或无法识别的响应。)。
这是 jQuery(1.2) 问题还是环境中的其他问题,还是 IE7?
如果我们重新提交请求,那么它工作正常。现在我们告诉用户重新提交请求以便保存数据。
现在这不是一个可行的解决方案。而且这个问题是偶发的。
非常感谢您对这些错误代码的任何见解。
谢谢
【问题讨论】:
标签: jquery ajax internet-explorer