首页 > 解决方案 > 如何使用 Ajax 将变量从 PHP 发送到 javascript?

问题描述

所以我有一个 PHP 文件,我从数据库中获取数据。我还有一个 JavaScript 文件,我在其中发出 ajax 请求。一切都很好,但是当我回显它时,我想阻止 JSON 出现在我的网页上。我只想在 Javascript 中使用 JSON。这是我的代码:

Javascript:

$(document).ready(function() {
  var url = "../../DB/get-data.php";
    $.ajax({
      type: "POST",
      url: url,
      success: function(data){
         var mydata = jQuery.parseJSON(data);
         console.log(mydata);
      }
    });
});

PHP:

$sql = "SELECT * FROM animals ORDER BY age DESC";
$result = $conn->query($sql);
$animals = [];
while($row = $result->fetch_assoc()) {
  $animal = new Animals($row['name'], $row['species'], $row['color'], $row['age']);
  array_push($animals, $animal);
}
echo json_encode($animals);

标签: javascriptphpjqueryjsonajax

解决方案


您可以将这两个文件分开,即获取数据的文件没有echo

获取数据.php

$sql = "SELECT * FROM animals ORDER BY age DESC";
$result = $conn->query($sql);
$animals = [];
while($row = $result->fetch_assoc()) {
  $animal = new Animals($row['name'], $row['species'], $row['color'], $row['age']);
  array_push($animals, $animal);
}

JSON 结果的另一个文件实现了 echo 语句并包括第一个:

获取数据-json.php

include 'you_path_here/get-data.php';

echo json_encode($animals);

然后,您的 JS 代码中的 URL 变量应该调用 JSON 路由,如:

var url = "../../DB/get-data-json.php";

推荐阅读