jQuery使用abort方法停止ajax請求

有一個很實用的插件:Autocomplete,便可以實現像搜索引擎同樣的關鍵字提示,提示的內容是用ajax請求後臺的內容,這個插件有一個功能,是當用戶在輸入框按鍵比較快時,會自動終止以前發出的ajax請求,儘可能減小後端的壓力,這個是如何實現的呢?這個功能就須要使用ajax對象中的abort方法來實現了。具體代碼以下:php

function request (){  
    if(response) response.abort(); //終止以前全部的未結束的ajax請求,而後從新開始新的請求  
    response = $.ajax({  
        url : 'test.php',   
        type: 'post',  
        data : {test:'test'},  
        dataType : 'json',  
        success : function (o){  
            console.log('success');  
        },  
        error : function (){  
            console.log('error');  
        }  
    });  
}  
$('input').on('keyup',request); //綁定keyup事件

注意:使用這個response.abort()方法終止請求的時候,實際上會觸發ajax的success方法,因此須要在success方法中添加判斷response對象是否存在,存在才執行具體內容。  ajax

相關文章
相關標籤/搜索