簡體   English   中英

jQuery自動完成請求緩存問題

[英]jQuery autocomplete request caching problem

我正在使用不推薦使用的自動完成插件 (因為我正在使用舊版的jQu​​ery lib 1.3.2)。

我的問題是自動完成插件嘗試緩存請求。 我正在使用服務器端網址返回結果。

考慮這種情況:

Keyword : Results
i : ikea, iphone, ipod, ipad, iphone 4
ip: iphone, ipod, ipad, iphone4
iph: iphone, iphone 4
ipho: iphone, iphone 4

...

您會看到問題,它第一次獲得5個結果-這是我在后端設置的限制,它僅返回5個結果。 下次,它不發送請求,而是優化它在第一個請求中獲得的結果集,依此類推。

每當輸入更改時,如何使自動完成插件發送請求?

這是我的代碼...

$("#query").autocomplete(
    "/getSuggestions/", {
        autoFill: true,
        selectFirst: false,
        cacheLength: 1
    });

我嘗試將cacheLength設置為“ 1”,但這不起作用。

有人可以幫我嗎?

$("#query").autocomplete(
    "/getSuggestions/", {
        autoFill: true,
        selectFirst: false,
        cacheLength: 0
    });

事實證明這是一個非常簡單的解決方案-將cacheLength設置為0可以解決問題。

到目前為止,我一直在參考文檔中的說明...

要存儲在緩存中的后端查詢結果數。 如果設置為1 (當前結果),則不會進行緩存 必須大於等於1。

無論如何,我得到了所需的解決方案。

您不需要禁用緩存,可以選擇禁用子集匹配,例如

$("#query").autocomplete(
    url,
    {
        matchSubset: false
    }
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM