【发布时间】:2013-10-23 10:05:31
【问题描述】:
我想在用户尝试提交表单时发出 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 请求并在之后立即重定向浏览器吗?
【问题讨论】:
-
是什么让你说没有进行 ajax 调用?
-
您的网络标签对请求有何看法?
-
@Archer(和 tymeJV):FireFox 开发工具的网络选项卡不会报告任何发送的请求,服务器也不会收到任何此类请求。
-
如果您注释掉
form.submit()会发生什么 - 那么 ajax 调用是否有效? -
@Archer 是的,ajax 调用将起作用。
标签: javascript jquery ajax forms