【发布时间】:2014-05-06 04:10:42
【问题描述】:
我正在尝试在提交表单之前对网站进行 ajax 调用。如果请求成功,我希望表单能够正常提交。
$form = $('form');
$form.submit(function() {
$.ajax({
url: 'http://example.com',
data: {
name: 'test',
email: 'test@test.com'
},
async: false,
dataType: 'jsonp',
success: function () {
$form.unbind('submit').submit();
},
error: function () {
$form.unbind('submit').submit();
}
});
return false;
});
这是一个 jsfiddle - http://jsfiddle.net/5ykU5/
我希望它将请求发送到 example.com。成功和错误回调将表单与事件解除绑定并尝试提交它。
使用这种方法会导致 Jquery 抛出“Uncaught TypeError: object is not a function”。
感谢您的帮助!
【问题讨论】:
-
无需解绑。你有什么名字=“提交”吗?然后重命名
-
由于您使用的是同步调用,您可以通过标志变量来实现。查看更新的小提琴:jsfiddle.net/5ykU5/2