2013-09-03 2 views
1

Я использую ajax на своем веб-сайте, он работает нормально, но это не удачные данные при следующем вызове, я имею в виду, если при первом вызове данные 1 и 0, а во вторых данных вызова - 0 и 1, то он отображается на втором вызове 1, 0, 0, 1ajax call не сбрасывает старые данные

function checkform(){ 
var userid = $("#userid").val(); 
var email = $("#email").val(); 
$.ajax({ 
    url:path+"ajax_getpass.php", 
    data:{userid : userid, email : email}, 
    cache:'false', 
    type:'POST', 
    dataType:"json", 
    success: function(data_send){ 
     $(document).ajaxComplete(function(event, request) { 
      //data = $.parseJSON(data); 
      alert(data_send.email); 
      alert(data_send.userid); 
     }); 
    } 
}); 
return false; 
} 

, пожалуйста, сообщите мне, где я ошибаюсь.

+2

Не связывайтесь с событием ajax complete внутри обратного вызова успеха. Это не имеет никакого смысла. –

ответ

0

Это связано с тем, что каждый раз, когда выполняется запрос AJAX, вы добавляете все больше функций до ajaxComplete(). Поэтому, когда ваш код успеха вызывается в первый раз, одна функция вызывается ajaxComplete(). При следующем запросе добавляется еще одна функция, поэтому будут вызваны две функции.

Используйте этот код вместо:

$.ajax({ 
    url:path+"ajax_getpass.php", 
    data:{userid : userid, email : email}, 
    cache:'false', 
    type:'POST', 
    dataType:"json", 
    success: function(data_send){ 
     alert(data_send.email); 
     alert(data_send.userid); 
    } 
}); 

Вам нужно только $.ajaxComplete(), когда вы хотите, чтобы отвечать на запросы AJAX, посланных какой-либо другой части кода (т.е. в тех местах, где вы не можете указать функцию успеха) ,

Подумайте об этом как о своей глобальной «успешной» функции.

+0

, но мне нужна еще одна проверка в функции – Mani

+0

@ Мани, метод ajax complete - это не способ сделать это. –

+0

@KevinB Итак, что я должен сделать для этого – Mani

Смежные вопросы