2012-01-02 81 views
1

我剛開始規劃一個Web應用程序,它允許用戶保存有關電影的信息。這依賴於TMDb API。現在,我想在他們正在搜索電影時加入自動完成功能。你認爲做一個API調用onKeyUp是明智的嗎?或者在keyUp之後等待一段時間?總的來說,這是實現這一目標的最佳方式嗎?API自動完成調用(性能等)

我將使用PHP,jQuery和保存/ MySQL的

回答

1

延遲檢索用戶數據的關鍵了之後,除非你(或你打的服務器)的速度,以便能夠處理它。無論如何,你必須考慮到比賽條件,但有這麼多的電話會不會很有幫助。您查詢API的速度將比大多數用戶的打字速度慢,這意味着您將使用您的用戶和用戶的帶寬對您的api進行不必要的呼叫。

此外,我會設置在查詢前輸入的最少字符數(可能〜3是好的)。這也將有助於減少查詢次數,並且您不會針對'a'甚至'ap'運行查詢,這可能是很多事情。一旦你到達3('app'),你可以得到更小的結果列表,這對用戶更有幫助。

1

您可以使用TypeWatch jQuery plugin或類似的東西,只有在用戶停止輸入一段時間後才調用API。例如,堆棧溢出的TagsUsers頁使用TypeWatch在用戶停止輸入500毫秒後才處理輸入。