【发布时间】:2010-10-28 03:46:26
【问题描述】:
我正在使用带有表单的 jquery 验证。我想使用 ajax 提交表单。当我将 ajax 调用放入 validate 的 submitHandler() 时,浏览器挂起。怎么回事?
启用验证方法的调试时收到的错误消息是:
未捕获的异常:[异常... “对 WrappedNative 的非法操作 原型对象”nsresult: "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)" 位置:“JS框架:: http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js :: f :: line 132" 数据:无]
这对我来说太神秘了,无法理解。
一些代码:
$(document).ready(function() {
$("#loginForm").validate({
debug: true,
errorLabelContainer: $('div.error'),
wrapper: 'li',
rules: {
last_name: {
required: true
}
},
messages: {
last_name: {
required: "Please enter your last name."
}
},
submitHandler: function(form){
$.ajax({
type: "POST",
url: "test.php",
data: form,
success: function(msg){
console.log( "Data Saved: " + msg );
},
error: function(msg){
console.log( "Error: " + msg);
}
});
}
});
});
表单是一个非常普通的表单。通过标准 POST 提交可以正常工作。此外,验证工作正常......这只是让我失败的 ajax 提交部分。
【问题讨论】:
-
你说浏览器挂了,我想知道那段时间发生了什么。你的服务器端代码在运行吗?还是我们仍然是客户端?您是否在处理此请求的服务器端代码中放置了某种调试器?
标签: javascript ajax jquery jquery-validate