【发布时间】:2021-03-17 13:18:04
【问题描述】:
我有一个包含地理数据的办公室 MySQL 数据库。我正在尝试将办公城市列表放入 JavaScript 数组中。现在,我只想设置一个简单的$.ajax() 将列表记录到控制台中,但它返回 null。我只是在页面加载后在控制台中运行我的 JavaScript 函数“query()”。
这是我的 JavaScript。
function query() {
$.ajax({
url: "query.php",
method: "POST",
dataType: 'json',
success: function(data) {
let output = JSON.parse(data)
console.log(output)
}
})
}
这里是query.php
<?php
include 'database.php';
$sql="SELECT `Office City` FROM `offices`";
$result = $link->query($sql);
if ($result) {
while($row = $result->fetch_assoc()) {
array_push($result_array, $row);
}
}
header('Content-type: application/json');
echo json_encode($result_array);
$link->close();
?>
这里是database.php。我可以使用这个 PHP 写入 MySQL,所以我认为它是正确的。
<?php
$hostname = "hostus.mostus.com";
$username = "name";
$password = "pw";
$database = "db";
$link = mysqli_connect($hostname, $username, $password,$database);
if (mysqli_connect_errno()) {
die("Connect failed: %s\n" + mysqli_connect_error());
exit();
}
当我在控制台中运行 query() 时,它会响应“未定义”然后返回 null。
【问题讨论】:
-
in
query.php,$result_array没有在while循环前声明... -
let output = JSON.parse(data)似乎没有必要并且可能是错误的。就做console.log(data) -
您是否在浏览器的网络选项卡中看到从 PHP 返回的任何内容?
-
@LouysPatriceBessette 成功了,谢谢。
-
@Dharman 我明白你的意思。另请回复:下面的数据库列名。谢谢。
标签: javascript php jquery mysql