我有一个由JQuery序列化的表单,并通过.ajax()发布到url.
问题是无论服务器是否返回错误代码,总是调用'success:'函数.
实际上,甚至在服务器响应之前就会触发成功(我已经在服务请求的服务器方法上放置了一个断点 - 即使在此方法完成之前也会触发成功).如果服务器返回错误代码(例如状态代码500),JQuery会调用BOTH成功和错误事件!
有什么想法发生了什么?这是我的jquery代码:
$("#a-dialog").dialog({
autoOpen: false,
height: 300,
width: 400,
modal: true,
buttons: {
"Submit": function() {
$.ajax({
type: 'POST',
url: theURL,
data: $("#a-dialog-form").serialize(),
success: alert('ok!') // THIS IS ALWAYS CALLED (IMMEDIATELY)
});
},
},
});
Run Code Online (Sandbox Code Playgroud)
更新:
这对我来说是一个愚蠢的错误!感谢blue112快速指出:)
这是正常的,您必须将其作为回调传递,例如
$.ajax({
type: 'POST',
url: theURL,
data: $("#a-dialog-form").serialize(),
success: function(){alert('ok!');} // The function will be called upon success.
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3862 次 |
| 最近记录: |