[英]Pass associative array to Javascript using Ajax
我正在学习编程。 谁能帮助我使用AJAX将此关联数组传递给JavaScript?
server.php
$sql = "SELECT Lng, Lat, URL FROM results LIMIT 1000";
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
while($row = $result->fetch_assoc())
{
$data = json_encode($row["Lng"].$row["Lat"]. urlencode($row["URL"])."<br>");
$param = $_POST['param'];
$param = json_decode($param);
}
} else {
echo "0 results";
}
$conn->close();
Index.js
$.ajax({
url: 'server.php',
data: {param: ""},
success: function()
{
console.log("Testing");
}
});
您应该从服务器端获取数据作为成功回调的参数:
$.ajax({
url: 'server.php',
data: {param: ""},
success: function(response)
{
console.log( JSON.parse( response ) );
}
});
注意1:您应该真正在服务器端安排代码。
注意2:如果您在服务器端脚本中使用json_encode()
发送JSON格式作为响应,则需要在客户端使用JSON.parse()
来解码JSON。
在您的server.php中,您需要json_encode而不是解码:
$response = array("coordinates" => array());
$sql = "SELECT Lng, Lat, URL FROM results LIMIT 1000";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$response["coordinates"][] = $row;
}
}
echo json_encode($response);
$conn->close();
和请求(index.js)类似:
$.ajax({
dataType: "json",
url: 'server.php',
data: [],
success: function(response){console.log(response);}
});
您必须响应一个JSON,否则它将不起作用。 它应该很简单:
echo json_encode($array)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.