我有一個輸入框,每按一次鍵上都有一個Ajax請求。所以如果我輸入單詞「名稱」會有4個成功的請求。所以我實際上只想要執行的最新請求。所以如果我輸入單詞「名稱」將只有一個請求,這將是最後一個。多個Ajax只允許最近的呼叫
,我也有一個解決方案(這是一個簡單的例子與點擊法)
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 2013-05-01 17:35:32
沒有,腳本應該放棄以前所有的通話,除了最後一個。 – Iori 2013-05-01 17:38:01
我在說['abort()'](http://stackoverflow.com/questions/446594/abort-ajax-requests-using-jquery) – epascarello 2013-05-01 18:30:05