有一個很實用的插件: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