我正在学习编程。谁能帮助我使用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");
}
});
答案 0 :(得分:0)
您应该从服务器端获取数据作为成功回调的参数:
$.ajax({
url: 'server.php',
data: {param: ""},
success: function(response)
{
console.log( JSON.parse( response ) );
}
});
注意1:您应该将代码真正安排在服务器端。
注意2::如果您在服务器端脚本中使用json_encode()
发送JSON格式作为响应,则需要在客户端中使用JSON.parse()
解码JSON。
答案 1 :(得分:0)
在您的 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)