2015-11-11 2 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 и массив с абсолютной URL скрипта PHP. Я утешил этот URL перед этим скриптом, и все в порядке.

У меня есть эта настройка на сервере, который не работает с лаком, и он отлично работает. Однако на моем сервере с лаком я заметил, что URL-адрес запроса неверен (должен быть «auspost.php», а это URL-адрес страницы с параметрами запроса). На моем сервере без лака правильный URL-адрес запроса GET.

Похоже, что лак кэширует мои запросы GET. Любой совет будет очень признателен! Могу ли я установить конфигурацию vcl в случае необходимости?

+0

как насчет 'cache: false' – madalinivascu

+0

Хорошая идея, но не повезло. Я вижу у инспектора, что запрос url все еще неверен. Я вижу, что заголовки также отправляются через лак: – rhysclay

ответ

1

Для АЯКС запросов вы должны иметь следующий заголовок доступен X-Reqeusted-С: XMLHttpRequest

В вашем лака vcl_recv вы можете проверить, если этот заголовок присутствует и принуждать пропуск.

if (req.http.X-Requested-With == "XMLHttpRequest"){ 
return (pass); 
} 
Смежные вопросы