- JScript code
$("#form").submit(function() { var word = $('.word').attr('value'); $.get('/analysis/searchclick',{word:word, type:1}, function() { $('#form').submit(); }); });
- JScript code
var returnFlag = 0; $("#form").submit(function() { var word = $('.word').attr('value'); $.get('/analysis/searchclick',{word:word, type:1}, function() { returnFlag = 1; $('#form').submit(); }); if(returnFlag != 1) { return false; } });
其实上面两段代码,我是想实现同一个功能:当提交id为“form”的表单时,触发一个Ajax事件,然后在Ajax完成后,再出发提交表单的操作。
最开始我用的第一段代码,但发现每次还没等Ajax发送完成就跳转了(因为跳转的页面没有接到传来的值),因此我暂且认为是Ajax的异步处理操作,即它只是发送了,但不管发送是否完成,都继续往下执行,所以触发表单提交就走到了发送Ajax完成之前。
但后来又有一段代码让我很纳闷:
- JScript code
<a href="xxx.php" class="testa" name="国贸">链接</a> $(".testa").click(function(){ var keyword = $(this).attr('name'); $.get('/analysis/searchclick',{word:keyword, type:1}, function() {}); })
这段代码,当我点击这个链接的时候,它就是等Ajax发送完成,并成功返回的时候,再执行跳转操作,为什么这次Ajax没有异步操作呢?
------解决方案--------------------
表格提交很特殊。。。
------解决方案--------------------
如需要阅读该回复,请登录或注册CSDN!