【发布时间】:2016-03-31 12:38:29
【问题描述】:
我想从数据库中获取数据并将其保存在一个数组中。 像这样
var locations = [ ['Current', 18.53515053, 73.87944794, 2],
['VimanNagar', 18.5670762, 73.9084194, 1]
];
首先我创建了一个php页面
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "citytrans";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM driver_location";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo json_encode($row);
}
} else {
echo "0 results";
}
$conn->close();
?>
这给了我下面的结果
{"driver_id":"1","driver_lat":"18.53515053","driver_lng":"73.87944794","driver_code":"122"}{"driver_id":"2","driver_lat":"18.53640175","driver_lng":"73.88206482","driver_code":"133"}
现在我想使用 Jquery 将其转换为数组(我想对其进行解码),我只想从上面显示的数据库中提取的我的 jSON 数据中的 drivers_lat 和 drivers_lng 值。
我正在使用下面的代码来解析数据表单 json
jQuery.ajax({
url: baseurl + "getdriverlocation.php",
type: "JSON",
async: false,
success: function(data){
var myArray = JSON.parse(data);
console.log(myArray.driver_lat)
}
});
但它给了我错误(如下所示)
SyntaxError: JSON.parse: 意外的非空白字符后 JSON数据第1行第92列的JSON数据
我只想要json数据中的两个值并将其保存在数组变量中
请帮忙
【问题讨论】:
-
问题是,您将多个 json-objects 连接到 one 字符串,这会导致 json 无效。 (在你的while循环中)
-
回显 json_encode($row);处于while循环中。所以返回的字符串不正确
-
没有
JSON这样的类型,我想你错过了dataType? -
解决方案是首先将所有结果存储在 one 数组中,然后 json_encode 该数组并回显。
-
使用数组..推入数组...并在您的 php 脚本末尾回显...
标签: javascript php jquery arrays json