gpt4 book ai didi

php - 将 json 数组从 PHP 传递到 JS

转载 作者:行者123 更新时间:2023-12-01 04:37:56 25 4
gpt4 key购买 nike

我需要将 json 数组从 php 脚本发送到 Javascript。

 <?php
//controllo se sono presenti i parametri
if(isset($_GET['ID_utente']) && isset($_GET['Longitudine']) && isset($_GET['Latitudine']))
{
//Recupero il valore dei parametri
$ID_utente = $_GET['ID_utente'];
$Longitudine = $_GET['Longitudine'];
$Latitudine = $_GET['Latitudine'];
}

//eseguo la connessione al database sul server locale
//inserendo nome utente e password
$conn = mysql_connect('localhost', 'realegr', 'rabredugbo19');

//gestione degli errori
// if (!$conn) {die('Impossibile connettersi: ' . mysql_error());}

//seleziono il databse
mysql_select_db("my_realegr") or die( "Impossibile selezionare il database.");

//creo una stringa sql di inserimento con i valori
//recuperati dall'url
$sql = "INSERT INTO `my_realegr`.`DatiSinistro`
(
`ID_sinistro` ,
`Tempo_Server` ,
`Tempo_Locale` ,
`ID_utente`,
`Longitudine`,
`Latitudine`
)
VALUES
(
NULL , CURRENT_TIMESTAMP , NULL , '" . $ID_utente . "', '" . $Longitudine . "', '" . $Latitudine . "')
";

$q = "SELECT Longitudine, Latitudine FROM DatiSinistro ORDER by ID_sinistro
DESC LIMIT 1";
$result = mysql_query($q, $conn);

if($row = mysql_fetch_assoc($result)) {
echo json_encode([
'status' => true,
'latitude' => $row['Latitudine'],
'longitude' => $row['Longitudine'],
]);
}





//gestione degli errori
if(! $result ){die('Impossibile eseguire la query: ' . mysql_error());}

//chiudo la connessione al db
mysql_close($conn);

?>

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>


<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBkEtPH07_xBVh8dWBzCQYtWimkOUnPGMQ&callback=initMap"></script>

<style>
#map {
height: 400px;
width: 100%;

}
</style>
</head>
<body>
<h3>My Google Maps Demo</h3>
<div id="map"></div>

<script>
function initMap(){



var $request = $.get('http://realegr.altervista.org/ProvaReale1.php');
$request.done( function(data) {
alert(data);
var pasedData = JSON.parse(data);
alert(pasedData.latitude);


var uluru = {lat: pasedData.latitude, lng:pasedData.longitude};
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 4,
center: uluru
});
var marker = new google.maps.Marker({
position: uluru,
map: map
});

})
}
</script>



</body>
</html>

php 脚本的输出:enter image description here

当我加载 map 时,alert(data) 显示:{"status":true,"latitude":"45.062583","longitude":"7.662160"}

所以 PHP 脚本似乎运行良好,此外 Javascript 还接收 JSON 数组使用“var pasedData = JSON.parse(data);”我可以获得解析的数组吗?当我尝试使用警报(pasedData[0])显示内容时,它显示“未定义”。出了什么问题?

最佳答案

使用pasedData.statuspasedData.latitudepasedData.longitude

已更新

请使用此代码

<script>
function initMap(){
//
}
</script>

并将 initMap 代码放入此函数中。

更新2

请使用此代码

var pasedData = JSON.parse(data);
var longi = parseFloat(pasedData.longitude);
var lati = parseFloat(pasedData.latitude);
var uluru = {lat: lati, lng:longi};

关于php - 将 json 数组从 PHP 传递到 JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45859331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com