在表单提交函数中调用jQuery AJAX
Making a jQuery AJAX call from within a form submit function
长话短说:
- 我有一个HTML表单,附带一个jQuery函数到onSubmit事件。在onSubmit函数中,我需要进行AJAX调用,并根据响应更新表单元素。
示例代码:
$("#theForm").submit(function() {
$.ajax({
url: theUrl,
type: "POST",
data: theData
}).done(function(theResponse) {
$("#someInput").val(theResponse)
$("#theForm").submit() // [2] Submit the form now
}).fail(function(jqXHR, textStatus) {
alert("Failure")
})
return false // [1] Prevent submission prior to AJAX call completing
})
我的问题是这会产生一个无限循环。
该函数的最外层返回false
,以防止表单在AJAX调用完成之前提交。我试图在AJAX调用成功完成后,在done()
处理程序中实际提交表单。然而,这只是递归地调用整个onSubmit函数。
我怎么能有一个AJAX调用嵌套在一个onSubmit处理程序…这样,是否允许提交的决定是由嵌套的AJAX函数驱动的,而不是由它的封装处理程序函数驱动的?
您的[2]部分需要直接发生在表单上。
$("#theForm")[0].submit()
相关文章:
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 将curl查询转换为jQuery.ajax()
- jQuery AJAX write to XML
- jQuery Ajax GET请求工作不正常
- jquery ajax https调用给出ERR_INSECURE_RESPONSE
- VB NET JQUERY AJAX上出现错误500
- 如何使用jquery ajax和jsonp在您自己的域上读取json数据
- Jquery/Ajax.serialize()未完全工作
- 页面加载之前的jQuery Ajax加载程序
- jquery/ajax无限滚动事件
- 使用Jquery$.ajax将json数据传递给servlet(doPost)
- 如何将给定的curl命令复制为jquery ajax请求
- 使用 JQUERY AJAX (Spring MVC) 从控制器中删除
- Twitter API在jQuery AJAX中设置授权头
- AngularJS JQuery Ajax表单提交等效
- jQuery Ajax.ajaxSuccess()事件未激发
- 为什么Jquery$.ajax在函数调用中触发所有statusCode,即使调用成功
- jQuery AJAX总是出错
- jQuery Ajax数组序列化错误
- jQuery AJAX获取Vimeo缩略图