![](/img/trans.png)
[英]Should I use <script> tag to pass data from PHP to JavaScript?
[英]Get data from php script to javascript and use it
我閱讀了如何將變量和數據從PHP傳遞到JavaScript? 和http://www.dyn-web.com/tutorials/php-js/json/multidim-arrays.php,但我無法將其組合在一起……相當不知所措,我只是一個初學者(他們甚至說使用AJAX ...哇!)。 你能幫助我們嗎?
我的情況是:
我想從正文的onload事件中調用我的php腳本。
我想做的是:
function init(){
// some instructions
var myvar;
myvar = result of execution of my_php_script;
//using myvar in some other instructions
}
您可能會在下面的JS最后幾行中看到我打算如何使用上面描述的“代碼”
我目前的HTML
<body onload="init();">
<div id="map">
</div>
</body>
我目前的JS
function init(){
var mymap = L.map('mapid').setView([51.505, -0.09], 13);
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}', {
attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://mapbox.com">Mapbox</a>',
maxZoom: 18,
id: 'your.mapbox.project.id',
accessToken: 'your.mapbox.public.access.token'
}).addTo(mymap);
}
var myvar = result of execution of php script (a table)
var marker = L.marker([myvar[0][1], myvar[0][2]]).addTo(mymap);
}
我當前的php(此php腳本現在可以正常工作。我想在javascript var myvar中返回$ row)
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
try {
$hostname = "SQLSERVER_INSTANCE_1";
$port = 1433;
$dbname = "MY_BD";
$username = "user";
$pw = "pass";
$dbh = new PDO ("sqlsrv:Server=$hostname,$port;Database=$dbname","$username","$pw");
$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
} catch (PDOException $e) {
echo "Failed to get DB handle: " . $e->getMessage() . "\n";
exit;
}
$sth = $dbh->prepare("SELECT * FROM dbo.COORD");
$sth->execute();
/*while($row = $sth->fetch(PDO::FETCH_ASSOC)){
print $row['lat']. "<br/>";
}*/
$row = $sth->fetch(PDO::FETCH_ASSOC);
echo $row['lat'];
?>
解決問題。 首先,您需要以JavaScript可以理解的格式對PHP數據進行編碼。 一個很好的方法是通過JSON json_encode。
接下來,您需要從JavaScript向PHP腳本發出HTTP請求。 為此,您可以使用Jquery ajax函數,並將數據類型設置為JSON。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.