Javascript 使用Jquery的AJAX请求,无需页面刷新,同时使用对象和回调选项
我正在尝试使用Jquery表单插件以及validate()验证和发布表单数据 我尝试过在没有验证的情况下发送数据,效果很好。例如:Javascript 使用Jquery的AJAX请求,无需页面刷新,同时使用对象和回调选项,javascript,jquery,jquery-forms-plugin,Javascript,Jquery,Jquery Forms Plugin,我正在尝试使用Jquery表单插件以及validate()验证和发布表单数据 我尝试过在没有验证的情况下发送数据,效果很好。例如: $('#encodeForm').ajaxForm(function(res) { $('#result').html(res.data); console.log(res); return false; }); 返回false会阻止页面导航到服务器响应 但是,当我用一个选项对象替换函数时,上述操作失败: $('#encodeForm').
$('#encodeForm').ajaxForm(function(res) {
$('#result').html(res.data);
console.log(res);
return false;
});
返回false
会阻止页面导航到服务器响应
但是,当我用一个选项对象替换函数时,上述操作失败:
$('#encodeForm').ajaxForm({ ......, success : function() { return false; } });
关于传递options对象,如何防止页面导航(改为AJAX响应?)
尝试的方法:
在反复使用代码和亚伯拉罕的笔记之后,以下内容对我起了作用:
$('#decodeForm').validate({
// rules here ....
}
});
$('#decodeForm').ajaxForm({
beforeSubmit : function() {
console.log('FORM: ' + $('#decodeForm').valid());
//block if false
return $('#decodeForm').valid();
},
success : function(res) {
if (res.err) {
console.log('ERROR: ' + res.err);
}
// do something with the data
}
});
注意:如果规则无效,AJAX查询似乎无法工作。如果您从那里使用函数,请确保包含
additional methods.min.js
文件。在您发布的中,他们不会在任何地方调用return false
。你确定有必要吗?将您的代码与我链接的示例中的代码进行比较。我已经从您的问题中删除了标记,因为我在OP中完全看不到关于此插件的任何内容。如果我错了,那么你的.validate()
代码在哪里?@Abraham是的,这很有效。我认为这不值得否决——使用了两个模块的实现,并且彼此非常相似。谢谢。@Sparky不,这也是关于jquery验证插件的。我正在使用其中的两个。有人知道浏览器对Jquery表单插件的支持吗?谢谢,我试过了,但是它似乎没有发送文件负载。对我有效的方法是使用ajaxform(),并单独使用validate()。
$('#decodeForm').validate({
// rules here ....
}
});
$('#decodeForm').ajaxForm({
beforeSubmit : function() {
console.log('FORM: ' + $('#decodeForm').valid());
//block if false
return $('#decodeForm').valid();
},
success : function(res) {
if (res.err) {
console.log('ERROR: ' + res.err);
}
// do something with the data
}
});