[英]Using page or database cache for multiple ajax calls in Codeigniter
[英]CodeIgniter cache preventing AJAX calls
我正在codeigniter中建立我的網站。 當用戶滾動時,我正在一頁上進行多個Ajax調用。 我的網站也被codeigniter緩存。 我似乎緩存阻止了ajax調用。
它是這樣的:
我刷新我的網站,並在用戶滾動之后進行了第一個ajax調用。 在那之后應該有幾個ajax調用,但是它們不執行(不知道為什么)。 然后刪除緩存,回到站點並滾動。 同樣,僅執行第一個ajax調用。
因此,我最好的猜測是緩存可以以某種方式阻止調用 ,但是我不知道如何繞過該問題。
我對ajax和codeigniter比較陌生。 我用谷歌搜索,但沒有任何有用的東西出現。 我希望你們能夠幫助我:)
假設您正在對以下內容進行Ajax調用:
www.yoursite.com/some_class_to_cache/some_function/some_parameter
問題是路由器響應緩存的頁面
www.yoursite.com/some_class_to_cache/some_function/cached_parameter
因此,您收到的響應是此緩存的頁面,而不是ajax響應。 要更改此行為,一種解決方案是在其他未緩存的位置創建一個ajax調用處理程序。
www.yoursite.com/some_ajax_class/some_function/some_parameter
然后從那里創建some_class_to_cache對象,並使用some_parameter調用some_function 。
jquery
有解決方案,但codeigniter
返回404頁面
$.ajaxSetup({ cache: false });
從我可以看到的問題是,如果我可以找到使url與之配合使用的方法,則jQuery使用_?=xxx
來表示其稱為Cache Buster的緩存值。
那應該更容易解決問題
www.yoursite.com/some_class_to_cache/some_function/some_p
arameter?_=1469969058680
這就是為我解決的問題
將config.php更改為此
$config['uri_protocol'] = "PATH_INFO";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.