调用Ajax请求的次数太多(ajax加载gifs停止)

时间:2014-01-30 18:19:49

标签: javascript jquery ajax

我在使用以下代码执行ajax请求时遇到问题。

Ajax请求

function doRequest(url, hostname) {

$.ajax({
    url: url,
    type: 'GET',
    data: 'hostname=' + hostname,
    error: function () { alert('erro'); $('#loading').hide(); },
    success: function (data) {

        $('#content').html(data);
        $('#loading').hide();
    },
    beforeSend: function () {
        alert(1);
        $('#content').html(""); 
        $('#loading').show();
    }
});

return false;
}

搜索表单

<form action="/Home/SearchMachine" class="form-wrapper cf" id="search">
        <input type="text" placeholder="Hostname..." id="hostname" required>
        <button type="submit">Validar</button>
    </form>

点击活动

$('#search').submit(function() { 
    if (validateSearchForm()) { 
          $('#val_error').hide();  
          doRequest('/Home/SearchMachine',$('#hostname').val());
     } 
    else
    $('#val_error').show(); 

    return false;    
});

在第一个请求中,我在alert(1)函数中触发的下一个alert(1)中,在后两个alert(1)中获得一个success。我做了太多测试,但我找不到解决方案。在许多请求之后,ajax加载gif以及浏览器都会停止。

2 个答案:

答案 0 :(得分:1)

我使用您的代码和测试服务进行了快速测试。我无法重现这个问题。每次回调仅在每次点击时发生一次。

doRequest('http://headers.jsontest.com/', $('#hostname').val());

http://jsfiddle.net/QUXJU/

每次点击后,您是否以某种方式重新提交提交?

答案 1 :(得分:0)

为表单提供onSubmit以获得透明度。

表格

<form action="/Home/SearchMachine"  onSubmit="submit_form(); return false;" class="form-wrapper cf" id="search">
        <input type="text" placeholder="Hostname..." id="hostname" required>
        <button type="submit">Validar</button>
    </form>

<强>功能

function submit_form()
{
    if (validateSearchForm()) { 
          $('#val_error').hide();  
          doRequest('/Home/SearchMachine',$('#hostname').val());
     } 
    else
    $('#val_error').show(); 
}