2015-11-11 31 views
0

我得到了一個運行在帶有清漆的服務器上的AJAX請求。請求如下:帶有清漆緩存的AJAX GET請求

(function() { 
     $("#name").autocomplete({ 
      minLength:3, //minimum length of characters for type ahead to begin 
      source: function (request, response) { 
       $.ajax({ 
        type: 'GET', 
        url: php_vars.var_1, //your server side script 
        dataType: 'json', 
        data: { 
         postcode: request.term 
        }, 

        success: function (data) { 
         alert("Success"); 
        } 
       }); 
      } 
     }); 
})(); 

的URL,我用wp_localize_scripts和數組與PHP腳本的絕對URL。在這個腳本之前我已經安慰了這個URL並且沒問題。

我在沒有使用清漆運行的服務器上安裝此設置,並且工作正常。然而,在我的清漆服務器上,我注意到請求的URL不正確(應該是「auspost.php」,而是帶有查詢參數的頁面url)。在我的無清漆服務器上GET請求的URL是正確的。

它看起來像清漆緩存我的GET請求。任何建議將非常感謝!如果需要,我可以pastebin我的vcl配置?

+0

'cache:false'如何? – madalinivascu

+0

好主意,但沒有運氣。我可以從督察看到請求url仍然不正確。我可以看到標題也通過清漆發送: – rhysclay

回答

1

對於Ajax請求,你應該有下面的頭可用 X-Reqeusted-附:XMLHttpRequest的

在你清漆vcl_recv您可以檢查是否該頭存在,迫使一通。

if (req.http.X-Requested-With == "XMLHttpRequest"){ 
return (pass); 
}