2015-03-12 2 views
0

У меня есть таблица с USERID, USERNAME, SALARY в базе данных.проблема с вызовом ajax возникает

Эти записи отображения в HTML-таблице, где USERID исходя из таблицы и USERNAME и SALARY будут введены пользователем в textbox.

Здесь, при каждом изменении текстового поля, аякс звонит, и он проверит, есть ли USERNAME/SALARY, присутствующий в databse, для USERID (запись, для которой добавлена ​​USERNAME/SALARY)? Если вы ответите да, то он запустит запрос редактирования, иначе он будет запускать запрос на вставку.

Теперь, когда происходит добавление записи в текстовое поле, ajax вызывается и проверяется, и этот процесс выполняется слишком быстро, когда другой аякс вызывает до того, как он завершил свой процесс, и поэтому проверка запроса выполняется с ошибкой.

мой Аякса является:

$.ajax({ 
type:'post', 
url: url, 
data :{uid:uid,rec:rec,sal:sal}, 
success:function(data) { 
console.log(data); 
    } 
}); 

Любая помощь приветствуется !!

+0

Все, что должно дождаться завершения вызова AJAX, должно выполняться в функции 'success'. – Barmar

ответ

-1

Добавить async :false в свой АЯКС заявление, так что это будет так:

$.ajax({ 

type:'post', 

url: url, 

data :{uid:uid,rec:rec,sal:sal}, 

async : false, 

success:function(data) {console.log(data);} 

}); 
+0

Не рекомендуется использовать синхронный AJAX. Он устарел и вызовет предупреждения в консоли. – Barmar

+0

Я использую async: false для преодоления этой проблемы и работает без какой-либо ошибки в консоли. Не уверен, проблема с версией или что-то подобное – CodeWithCoffee

+0

Предупреждение исходит от браузера, поэтому зависит от того, какой браузер вы используете. Но 'async: false', как правило, плохая идея, блокирует браузер. – Barmar

0

Поместите код, который должен ждать первый вызов AJAX для завершения в success функции вызова AJAX. Здесь вы можете выполнять дополнительные вызовы AJAX.

1
function changebox(curval,a) 
{ 
    alert(curval); 

    $.ajax({ 
     type:"POST", 
     data:"id="+curval, 
     url:"<?php echo site_url('contrlloer_name/function_name');?>", 
     success: function(html){ 
      $('#'+a).html(html); 
     } 
    }); 
} 
</script> 
Смежные вопросы