在按键处理ajax调用

问题描述:

我正在使用PHP codeigniter 3.对于选择框,我使用jquery ajax调用,从数据库检索值并将它们附加到选择下拉列表中。在每个按键上按下ajax被调用。但是在按键用户不得不按住下一个按键之后,它正在使过程变慢。我怎样才能使处理速度更快,以便用户可以正常输入数据。我使用异步:假在按键处理ajax调用

$.ajax({ 
    type:'POST', 
    cache:false, 
    async:false, 
    data: { 'search_val' : search_val }, 
    url: URL, 
    success: function(data) 
    { 
     // Code to append 
    } 
}); 

对于如用户类型汽车一完成选择框,然后阿贾克斯将达到数据库,并检查城市开始一个并在下拉列表中追加。那么如果他后键入ü一个然后阿贾克斯将搜索AU等各个按键阿贾克斯开始将寻找数据在数据库

+1

“我正在使用async:false”有您的答案。 –

最早的城市 - 不使用同步请求。他们伤害了...

第二 - 你可以在发送请求之前使用一些延迟 - 例如 - 在没有按键被按下后300毫秒 - 发送请求并获得所需结果。

例如:

上按键 - 写类似的东西

if (timeoutId) clearTimeout(timeoutId); 
timeoutId = setTimeout(searchValues(), 300); 

使搜索值,其执行的AJAX功能。