</div>
</div>
</div>
<hr class="my12 outline-none baw0 bb bc-powder-2">
<div class="grid fw-nowrap fc-black-600">
<div class="grid--cell mr8">
<svg aria-hidden="true" class="svg-icon iconLightbulb" width="18" height="18" viewbox="0 0 18 18"><path d="M9.5.5a.5.5 0 0 0-1 0v.25a.5.5 0 0 0 1 0V.5zm5.6 2.1a.5.5 0 0 0-.7-.7l-.25.25a.5.5 0 0 0 .7.7l.25-.25zM1 7.5c0-.28.22-.5.5-.5H2a.5.5 0 0 1 0 1h-.5a.5.5 0 0 1-.5-.5zm14.5 0c0-.28.22-.5.5-.5h.5a.5.5 0 0 1 0 1H16a.5.5 0 0 1-.5-.5zM2.9 1.9c.2-.2.5-.2.7 0l.25.25a.5.5 0 1 1-.7.7L2.9 2.6a.5.5 0 0 1 0-.7z" fill-opacity=".4"></path><path opacity=".4" d="M7 16h4v1a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-1z" fill="#3F3F3F"></path><path d="M15 8a6 6 0 0 1-3.5 5.46V14a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1v-.54A6 6 0 1 1 15 8zm-4.15-3.85a.5.5 0 0 0-.7.7l2 2a.5.5 0 0 0 .7-.7l-2-2z" fill="#FFC166"></path></svg>
</div>
<div class="grid--cell lh-md">
<p class="mb0">
<b>Want to improve this question?</b> Add details and clarify the problem by <a href="/posts/40997955/edit">editing this post</a>.
</p>
<p class="mb0 mt6">Closed <span title="2016-12-06 15:54:01Z" class="relativetime">3 years ago</span>.</p>
</div>
</div>
</aside>
I am using PHP codeigniter 3. For select box I am using jquery ajax call where I retrieve values from database and append them to select drop down. on each key press ajax is called.But it is making process slow after keypress user have to hold to press next key. How I can make process fast so that user can input data normally. I am using async:false
$.ajax({
type:'POST',
cache:false,
async:false,
data: { 'search_val' : search_val },
url: URL,
success: function(data)
{
// Code to append
}
});
For eg User types a in auto complete select box then ajax will hit database and will check cities starting with a and append list in dropdown. then if he type u after a then ajax will search for cities starting with au so on each keypress ajax will look for data in database
</div>
First - do not use synchronous requests. They hurt...
Second - you can use some delay before sending a request - for example - 300ms after no key is pressed - send request and get the needed results.
For example:
on key press - write something like that
if (timeoutId) clearTimeout(timeoutId);
timeoutId = setTimeout(searchValues(), 300);
Make search values a function which executes your AJAX.