У меня есть окно ввода, на котором есть запрос ajax при каждом нажатии клавиши. поэтому, если я буду вводить слово «имя», будет 4 успешных запроса. Так что я действительно хочу только последний запрос выполнен. поэтому, если я введу слово «имя», будет только один запрос, который будет последним.Несколько аякс Разрешить только последний вызов
и я также есть решение для этого (это простой пример с методом защелкивания)
JS скрипт
var callid = 1;
function ajaxCall (checkval){
if(checkval == callid){
$.ajax({
type: 'post',
url: baseurl + "test/call_ajax",
data: {
val: "1"
},
success: function(data) {
console.log(data)
}
});
}
}
function call(){
var send = callid+=1;
setTimeout(function(){ ajaxCall(send) } , 500);
}
HTML скрипт
<a href="#" onclick="call()" > Call ajax </a>
Это прекрасно работает. Но я подумал, есть ли способ усовершенствовать его немного больше.
Любые идеи :)
Вы можете прервать последний вызов ... – epascarello
Нет, сценарий должен прервать все предыдущий вызов, кроме последний. – Iori
Я говорил о ['abort()'] (http://stackoverflow.com/questions/446594/abort-ajax-requests-using-jquery) – epascarello