从php脚本获取数据到javascript并使用它

时间:2016-06-04 19:04:41

标签: javascript php jquery html cordova

我看了How to pass variables and data from PHP to JavaScript?http://www.dyn-web.com/tutorials/php-js/json/multidim-arrays.phpbut我无法将它拉到一起......非常压倒性而且我只是一个初学者(他们甚至说使用AJAX ......哇! !)。你能帮帮我们吗?

我的情况是:

  • 我在php脚本中存储了htdocs xampp apache server;
  • 我在另一个文件夹中有一组html / javascript代码(它是一个cordova应用程序)

我想从正文的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 &copy; <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'];


?>

1 个答案:

答案 0 :(得分:2)

打破问题。首先,您需要以JavaScript理解的格式对PHP数据进行编码。一个很好的方法是通过JSON json_encode。

接下来,您需要从JavaScript向PHP脚本发出HTTP请求。为此,您可以使用Jquery ajax函数,并将数据类型设置为JSON。