2014-10-05 2 views
0

У меня есть вызов ajax, который запускается onclick - все работает отлично и дает желаемый результат, кроме того, что он все еще выводит старую версию страницы details.php.AJAX вызов, возвращающий предыдущую версию скрипта

HTML:

<div id="productList"> 
    <h3>Product List</h3><hr /> 
    <table width='100%'> 
     <tr> 
      <th>Product</th> 
      <th>Price</th> 
     </tr> 

     <?php 
      $q1 = "select * from products"; 
      $r1 = mysqli_query($cxn,$q1) or die ('Error Q1'); 

      while ($row1=mysqli_fetch_assoc($r1)) { 
       echo "<tr id='$row1[pCode]' onclick=\"getDetails($row1[pCode]);\" > 
       <td>$row1[Description]</td> 
       <td>$row1[SalePrice]</td> 
       </tr>"; 
      } 
     ?> 

    </table> 
</div> 

<div id="productDetails"> 
    <h3>Product Details</h3><hr /> 
    <div id="specifics"></div> 
</div> 

JS:

<script type="text/javascript"> 
    function getDetails(pCode){ 

     var page = "includes/details.php?pCode=" + pCode +"&success=yes"; 
     var xReq = new XMLHttpRequest(); 
     xReq.open("GET",page,false); 
     xReq.send(null); 
     var serverResponse = xReq.responseText; 
     document.getElementById("specifics").innerHTML=serverResponse; 
    } 

</script> 

РНР просто запрашивает базу данных на основе значения PCODE переданного URL и извлекает информацию и выходы, но это возврат к старому версия файла, которая даже не существует !!

+0

Похоже, что результаты вызова кешируются где-то. Может быть, в кеше браузера, возможно, на промежуточном сервере (Apache?) – toniedzwiedz

+0

Я занимаюсь разработкой Apache, но даже при загрузке происходит то же самое - разочарование! –

ответ

1

Кажется, что результат кэширован. Поскольку у вас может не быть контроля над кешем браузера других пользователей, решение заключается в том, чтобы запрашивать страницу с использованием случайного числа. Что-то вроде этого:

var page = "includes/details.php?pCode=" + pCode +"&success=yes&random=" + Math.random(); 

Таким образом, результат не будет сохранен в кэше, и вы всегда получите последнюю версию.

+0

Это, похоже, проделало эту работу, большое спасибо –

+0

Я исправлю это, добавив сюда. :) – paqogomez

Смежные вопросы