Ajax 不会收到错误消息
Ajax don't receives onError Message
在我的aspx登录脚本中,我没有通过Javascript收到服务器错误消息。我不明白问题出在哪里或出了什么问题。
该脚本向以下 URL 发送 Ajax 响应:login.aspx?ajax=true
出错时,它会收到带有错误消息的 403 错误代码。但在数据值中找不到错误消息。VB 中还有其他一些我必须发送的参数吗?还是我在Javascript中犯了一个错误?
在Firebug中,我可以看到错误消息。
.HTML
登录失败。还剩 3 次尝试。
登录.aspx
function onError(data) {
$('#errormessage').text(this);
$.mobile.changePage("#loginError", {
transition: "pop",
reverse: false,
changeHash: false
});
$("#Submit1").click(function() {
var formData = $("#loginform").serialize();
$.ajax({
type: "POST",
url: "login.aspx",
cache: false,
data: formData,
success: onSuccess,
error: onError
});
return false;
});
aspx.vb
Catch ex As AccessDeniedException
Response.StatusCode = 403
Response.Write(ex.Message)
'Response.AppendHeader("XML", "<xml><error>" + ex.Message + "</error></xml>")
'Response.StatusDescription = "<xml><error>" + ex.Message + "</error></xml>"
'Response.Status = ex.Message
Response.End()
来自 jQuery ajax 文档
error(jqXHR, textStatus, errorThrown)Function
请求失败时要调用的函数。该函数接收三个参数:jqXHR(在 jQuery 1.4.x 中,XMLHttpRequest)对象、描述所发生错误类型的字符串和可选的异常对象(如果发生)。第二个参数(除了 null 之外)的可能值是"超时"、"错误"、"中止"和"解析器错误"。发生 HTTP 错误时,errorThrow 会收到 HTTP 状态的文本部分,例如"未找到"或"内部服务器错误"。从 jQuery 1.5 开始,错误设置可以接受函数数组。将依次调用每个函数。注意:跨域脚本和 JSONP 请求不会调用此处理程序。这是一个阿贾克斯事件。
因此,如果您想要HTTP状态,请将errorThrown
放入html中,或者将其从data
变量当前表示的jqXHR
变量中挖掘出来。
相关文章:
- jQuery在输入下验证post错误消息
- 在AngularJs中隐藏默认错误消息
- 如果用户输入的长度小于最小长度,则显示错误消息
- 使用ASP.NET CustomValidator避免重复的错误消息
- KOValidation在错误消息中获取可观察值、$index()、$data等
- 更改精细上载中的错误消息
- 如何在页面刷新时隐藏错误消息
- 如何显示错误消息
- 滑块未显示,控制台中没有错误消息
- 表单提交没有'如果为空,则不会显示错误消息
- 为什么我的Alexa技能测试显示正确的lambda输出,但在开发人员控制台中测试时却给出错误消息
- 隐藏错误消息“;未选择文件”;asp:fileUpload的文本
- 登录时显示自定义错误消息
- 如何仅在存在最小值和最大值时才显示错误消息
- 通过 AJAX 检索 Blob 时处理错误消息
- Javascript 错误:消息:预期的“)”
- 如何将错误消息从 meteor 服务器传递到客户端
- 为什么 Angularjs 总是显示错误消息
- 我如何让我的 var 错误消息输出是使用字段还是字段,具体取决于留空的字段数
- 将错误消息 JSON 传递到另一个页面模板