我想在用户尝试提交表单时发出AJAX请求。但是,我不想等待响应(我只想触发脚本)并仍然立即提交表单(或重定向用户)。
我试着这样做(通过jQuery):
$(document).ready(function()
{
$("#form").submit(function(e)
{
// save object reference
var form = this;
// prevent form submit
e.preventDefault();
// trigger ajax request
$.ajax({
url: 'ajax.php',
data: { ... },
cache: false
});
// submit form
form.submit();
// return false just in case
return false;
});
});
但这不起作用,因为如果表格之后立即提交(通过form.submit()
),则AJAX请求实际上不会由浏览器发送。
我在这里有点困惑......是不是真的没有办法解雇AJAX请求并立即重定向浏览器?
答案 0 :(得分:0)
看来你在这里创造了一个无限循环。您正在阻止提交事件并在最后再次提交它,但是当您将函数绑定到表单的提交时,它将被反复调用。相反,尝试使用成功和完整的Ajax状态;成功后,您提交数据,完成后重定向页面。