Ajax MySQL查询不返回当前数据

时间:2017-07-20 10:18:47

标签: javascript php mysql ajax

我想编写一个从MySQL数据库返回数据的Ajax请求。但它无法正常工作,因为如果数据已更改,Ajax请求不会返回mysql数据库的当前值。相反,它总是返回数据库的旧数据。 php文件工作正常,如果我在浏览器中打开它,它会显示正确的当前数据值。我发现,如果我首先在浏览器中手动打开php文件,那么Ajax请求只显示正确的当前数据值。如果我再次使用ajax请求,它将返回正确的当前数据。我做错了什么?

这是Ajax请求的代码:

var scannedTubes = (function() {
  var tmp = null;
  $.ajax({
    async: false,
    url: "ajaxtest.php",

    success: function(response) {
      alert("RESPONSE: " + response);
      tmp = response;
    },
    error: function(jqXHR, textStatus, errorThrown) {
      alert(errorThrown);
    }
  });
  return tmp;
})();

ajaxtest.php文件的代码如下:

<?php
    $con = mysqli_connect("", "root");
    if(mysqli_connect_errno()){
        echo "FAIL: " . mysqli_connect_error();
    }                       

    mysqli_select_db($con, "multitubescan");

    $queryStr = "SELECT code FROM scan WHERE row = 0 AND code <> 'EMPTY'";

    $res = mysqli_query($con, $queryStr);

    $num = mysqli_num_rows($res);

    $scannedTubes = "";

    while($data = mysqli_fetch_assoc($res)){
        $scannedTubes = $scannedTubes . " " . $data["code"];
    }

    $scannedTubes = $num . " " . $scannedTubes;

    mysqli_close($con);

    echo $scannedTubes;    
?>

1 个答案:

答案 0 :(得分:0)

我认为您的浏览器会缓存数据。 使网址唯一:

url: "ajaxtest.php",

url: "ajaxtest.php?rnd=" + Math.random() ,