2011-08-23 40 views
0

当我提交我的表单时,重复的ajax调用使它永不停止。jquery帮助重复ajax调用

这里是我的Jquery对形式Ajax调用提交:

$('form#formgo').submit(function(e) { 
    e.preventDefault(); 

    $('#comparecontent').empty().html(
     '<p style="text-align:center;">' + 
     '<img src="../images/ajax.gif" /></p>'); 

    var form = $(this).closest('form'); 

    $.ajax({ 
     type: form.attr('method'), 
     url: form.attr('action'), 
     data: form.serialize(), 
     success: function(msg){ 
      $('#comparecontent').html(msg); 
     } 
    }); 

    return false; 
}); 
+0

你的意思是无尽的,它从来没有成功,或者请求重复一遍又一遍吗? –

+0

它是否曾经到达第二线? –

+0

#1 - 它只是继续做ajax调用(POST)并呈现html内容 –

回答

3

在你的Ajax调用,尝试请求指定timeout

$.ajax({ 
     type: form.attr('method'), 
     url: form.attr('action'), 
     data: form.serialize(), 
     timeout: 3000, // time in milliseconds 
     success:function(msg){ 
$('#comparecontent').html(msg); 
    } 
}); 

看到.ajax()文档以了解更多信息在可用参数http://api.jquery.com/jQuery.ajax/

+0

超时不会停止所有重复的ajax调用 –

+0

嗯,“无尽”和“重复”是两个不同的东西。如果可能的话,请提供一个链接到您的页面,以便社区可以亲自检查问题。 – SteamDev

+0

我的意思是重复ajax调用,页面不在线 –

0

似乎有东西引发提交。
尝试event.stopPropagation()

$('form#formgo').submit(function(e) { 
    e.preventDefault(); 
    e.stopPropagation(); 
    ... 

而且检查的onchange事件势必ID为comparecontent元素。