我正在尝试将从 ajax 调用返回的数据存储到不同的变量中。
Ajax 调用
$.ajax({
url: 'fetch_lat_lng.php',
type: 'GET',
dataType: "html",
success: function(data) {
//called when successful
//lat = php lat variable
//lng = php lng variable
myvar = data;
console.log(lng);
$('#ajaxphp-results').html(data);
}
});
fetch_lat_lng.php
$query = "SELECT * FROM users WHERE user_id = 636 ";
$result = query($query);
confirmQuery($result);
while($row=mysqli_fetch_array($result)){
$lat = $row['lat'];
$lng = $row['lng'];
}
echo $lat. " ". $lng;
我想将 php 变量 $lat 和 $lng 保存到 ajax 调用中的 javascript 变量中。这可能吗?
期待您的回答,谢谢!
亲切的问候,
最佳答案
将您的服务器端代码更新为以下内容
<?php
$query = "SELECT * FROM users WHERE user_id = 636 ";
$result = query($query);
confirmQuery($result);
while($row=mysqli_fetch_array($result)){
$lat = $row['lat'];
$lng = $row['lng'];
}
// Encode the output data
echo json_encode(array('latitude'=>$lat, 'longitude' => $lng));
?>
修改ajax调用代码如下
<script type="text/javascript">
$.ajax({
url: 'fetch_lat_lng.php',
type: 'POST',
dataType: 'json',
success: function(data) {
//called when successful
latitude = data.latitude;
longitude = data.longitude;
}
});
</script>
如果需要返回更多的经度和纬度,请根据您的要求更新输出结构。
示例:
<?php
// Decode the output data
echo json_encode(
array(
0 =>
array(
'latitude'=>12, 'longitude' => 34
),
1 =>
array(
'latitude'=>56, 'longitude' => 78
),
)
);
?>
希望对您有所帮助。
关于javascript - 如何将ajax请求数据保存到不同的变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34414762/