George_Fal 2016-12-06 14:40 采纳率: 0%
浏览 18

处理按键上的ajax调用[关闭]

Closed. This question needs details or clarity. It is not currently accepting answers.
                </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>
  • 写回答

1条回答 默认 最新

  • python小菜 2016-12-06 14:45
    关注

    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.

    评论

报告相同问题?

悬赏问题

  • ¥20 python忆阻器数字识别
  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真