从php脚本获取数据到javascript并使用它
我读了很多书,但我不能把它放在一起…非常难对付,我只是一个初学者(他们甚至说要使用AJAX…哇!)。你能帮我们吗 我的情况是:从php脚本获取数据到javascript并使用它,javascript,php,jquery,html,cordova,Javascript,Php,Jquery,Html,Cordova,我读了很多书,但我不能把它放在一起…非常难对付,我只是一个初学者(他们甚至说要使用AJAX…哇!)。你能帮我们吗 我的情况是: 我已经在php脚本上存储了htdocs xampp apache服务器 我在另一个文件夹中有一组html/javascript代码(这是一个cordova应用程序) 我想从主体的onload事件调用我的php脚本 理想情况下,我想做: function init(){ // some instructions var myvar; myvar = result
- 我已经在php脚本上存储了htdocs xampp apache服务器李>
- 我在另一个文件夹中有一组html/javascript代码(这是一个cordova应用程序)
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);
}
函数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}'{
属性:“地图数据©;贡献者,图像©”,
maxZoom:18,
id:'your.mapbox.project.id',
accessToken:'your.mapbox.public.access.token'
}).addTo(mymap);
}
var myvar=php脚本执行的结果(一个表)
var marker=L.marker([myvar[0][1],myvar[0][2]]).addTo(mymap);
}
我当前的php(这个php脚本现在运行良好。我想在javascript变量myvar中返回$row)
将问题分解。首先,您需要以JavaScript能够理解的格式对PHP数据进行编码。实现这一点的一个好方法是通过JSON_编码
接下来,需要从JavaScript向PHP脚本发出HTTP请求。为此,您可以使用Jquery ajax函数,并将数据类型设置为JSON。欢迎使用SO。请访问并查看,看看这个问题是如何过于宽泛,从而偏离主题的。编写一个响应“ok”的小php,并从一个简单的jQuery调用它。
$获取
,看看它是如何工作的。我也可能建议使用jQuery for ajax,因为它更容易使用。简单地提到ajax并不是很完整,因为它是异步的
<?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'];
?>