由于用户启动的浏览器事件与程序启动的浏览器事件之间的定义不同,您可以看到这一点。认为被解雇作为jQuery的那个事件绑定到操作的结果一般事件,即
$("#myElement").click(
function() {
$.ajax(...);
}
);
通过编程的方式开始试图通过一个jQuery .click()
事件绑定到打开一个新标签时,你会看到这个相同的症状您可点击的链接等
一个可能的解决办法,以您的问题是使用在你的HTML代码的事件属性调用一个JS函数,其中的AJAX调用即
<script type="text/javascript">
function submitAndDownload() {
$.ajax(...); //form submit
$.ajax(...); //download file
}
</script>
<button onClick="submitAndDownload();"></button>
这样的浏览器发出C该事件是用户发起的。您当然可以将您的下载ajax请求嵌套在表单提交ajax请求的正文中。这将取决于你需要做什么。不过,如果你在套接字中嵌入了其他的Ajax调用,那么你可能会发现套接字中有一些不一致的情况。
谢谢,这真的很有帮助。那么你的意思是实际上把我的提交按钮上的onClick与使用提交事件处理程序? – 2012-07-26 23:52:12
您的ajax调用究竟是如何启动的?你能提供一些代码吗?这种方法将取决于你需要做什么......即事件序列等。 – travega 2012-07-26 23:55:00
用代码更新了原来的帖子,谢谢! – 2012-07-27 00:00:19