JQuery AJAX вызова стрельбы в два раза - PullRequest
1 голос
/ 10 июля 2011

Привет, люди, у меня есть этот jquery, который звонит на страницу, чтобы вставить письмо в список новостей.

вызов вызывается дважды, URL имеют странный параметр _, который я не добавил, два URL, которые вызываются одним щелчком мыши :

http://www.camerich.co.uk/newsletter_add.php?emailtoadd=meeny@dizzyhigh.com&_=1310316941893
http://www.camerich.co.uk/newsletter_add.php?emailtoadd=meeny@dizzyhigh.com&_=1310316941906

как мне остановить дублирование вызова ???

Jquerycode:

$('.searchbox_submit').click(function() { // start the click function for news_submit div
        // get the email address that has been entered
        var emailtoadd = $("#emailtoadd").val();
        // set the url to load 
        var loadUrl = "newsletter_add.php?emailtoadd="+emailtoadd;
        // set the status to let the user know we are loading in the data
        $("#newsresponse").empty().html('<img src="/images/site/loadinfo.gif" width="16" height="16" align="absbottom" /> Processing Request...');
        //load in the data
        $.get(loadUrl, {}, function(myData) {
            // add the response to the newsresponse div
            $("#newsresponse").empty().html(myData); 
        }); // end get request
    });//end click function

HTML код:

<div class="iconthumbs"  style="background-image:url(images/icons/smaller/subscribe_button.jpg)">
        <div id="searchwrapper" name="searchForm">
            <div class="errortxt" id="newsresponse" style="padding:0 0 0 15px;"></div>
            <input type="text" class="searchbox" name="emailtoadd" id="emailtoadd" style="color: #FFF" onClick="this.value='';" onFocus="this.select()" onBlur="this.value=!this.value?'Enter Email To Subscribe':this.value;" value="Enter Email To Subscribe" />
            <input type="image" src="/images/site/1px.gif" class="searchbox_submit" id="news_submit" value="" />
        </div>

      </div>

Ответы [ 3 ]

1 голос
/ 10 июля 2011

"_" добавлено JQuery для преодоления IE Caching. Это содержит время с эпохи, когда был сделан вызов.

Для примера, который вы привели, кажется, что времена

1310317101270 = Sun, 10 Jul 2011 16:58:21 GMT
1310317079839 = Sun, 10 Jul 2011 16:57:59 GMT

С интервалом около 22 секунд. Вы уверены, что они с одного звонка?

PS: используется для преобразования эпохи во время

0 голосов
/ 11 июля 2011

Попробуйте запустить функцию щелчка, запретив действие отправки по умолчанию кнопки ввода изображения:

$('.searchbox_submit').click(function(e) { 
    e.preventDefault();
    // rest of your code
0 голосов
/ 10 июля 2011

Почему бы вам не использовать jquery.one()?

$('.searchbox_submit').one('click',function(){

//code 

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...