Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Javascript结果与PHP集成的最佳方法_Php_Javascript_Google Maps - Fatal编程技术网

将Javascript结果与PHP集成的最佳方法

将Javascript结果与PHP集成的最佳方法,php,javascript,google-maps,Php,Javascript,Google Maps,嗯 基本上,我使用的是谷歌地图API——它是Javascript 我的网站大部分使用PHP 我的意图是调用GoogleMapsAPI,以获得各种已经地理编码的经纬度点之间的距离。然后我想向我的用户显示它们 举个例子 我有(php): 我还有一个来自位置数据库的mysql_查询结果 我也是这样做的 while($result=mysql_fetch_array($results)){ //OUTPUT THE GOOGLE MAPS JAVASCRIPT JARGON WHICH WILL FI

基本上,我使用的是谷歌地图API——它是Javascript

我的网站大部分使用PHP

我的意图是调用GoogleMapsAPI,以获得各种已经地理编码的经纬度点之间的距离。然后我想向我的用户显示它们

举个例子

我有(php):

我还有一个来自位置数据库的mysql_查询结果

我也是这样做的

while($result=mysql_fetch_array($results)){

//OUTPUT THE GOOGLE MAPS JAVASCRIPT JARGON WHICH WILL FIND THE DISTANCE
//BETWEEN MY HOME AND THE DB LOCATIONS

}
在示例代码中,通过将指定div的内部html设置为某个查询的响应值(这就是我的JS知识变得模糊的地方),将该值简单地输出到div

理想情况下,我希望将该值输入到php变量中

是否还有其他方法:

$var=response from js thing;
我现在所做的基本上是使用php,我已经生成了正确数量的div,名为'response1','response2',等等,JS会填充这些div。。但这似乎不是最合乎逻辑的做事方式

希望这是有道理的。
谢谢

我建议大家看看谷歌地图API

是的!前几天我做了这个:

在PHP文件中执行以下操作(直接取自我的代码):


//我们将把所有需要的信息放在这里,作为一个JS全局变量。
//如果您需要更多的控制,只需通过JQuery从执行以下操作的PHP脚本获取它。
变量编号=
警报(数字);
//预期产出:[5,2,10,15]
警报(数字[2]);
//预期产出:10

干杯

从JavaScript向PHP发送答案需要AJAX:

如果您可以使用JQuery,这几乎是一个标准,那么它非常简单。这是我为PHPPro课程编写的课程之一的逐字记录:

receiveNumbers.php

<?php
if (isset($_GET['sentNums']))
{
    $sentNumbers = filter_input(INPUT_GET, 'sentNums', FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);
    // Convert to array.
    $numbers = split(', ', $sentNumbers);
    // Echo out.
    echo json_encode($numbers).
}

图形排序| PHPExperts.pro
var myNumbers='5,10,22,11';
var接收数;
jQuery.getJSON('receiveNumbers.php?sentNums='+myNumbers,函数(jsonReceived)
{
receivedNumbers=jQuery.parseJSON(jsonReceived);
警报(接收号码);//预计为[5,10,22,11]
});

谢谢-但似乎无关紧要。我用API编写了这个脚本,它可以正常工作。我的问题是如何将JS结果传递给PHP。在这种情况下,您可以编写一些AJAX代码将结果传递回服务器,或者使用URL中的一些参数重定向到另一个(可能是同一个)页面。也许您正在尝试这样做:启动PHP处理,处理JS,将结果从JS返回到PHP,完成PHP处理,呈现页面。这只能像:进行PHP处理,将页面发送给用户,处理JS,使用AJAX将结果返回给服务器,更改页面以反映AJAX调用的结果。

第一种方法是不可能的……我想我没有抓住重点。我直接使用谷歌地图API。没有其他框架等,所以我调用API,它返回各种值。我正试图将JS返回的这个值转换成php变量,我相信是另一种方式。谢谢
<?php
$numbers = array(5, 2, 10, 15);
/* Model and stuff here */
?>
<html>
    <head>
        <script type="text/javascript">
// We're going to put all the info we need here, as a JS global variable.
// If you need even more control, simply fetch it via JQuery from a PHP script that does the following.
var numbers = <?php echo json_encode($numbers); ?>

alert(numbers);
// Expected output: [5,2,10,15]
alert(numbers[2]);
// Expected output: 10
        </script>
    </head>
</html>
<?php
if (isset($_GET['sentNums']))
{
    $sentNumbers = filter_input(INPUT_GET, 'sentNums', FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);
    // Convert to array.
    $numbers = split(', ', $sentNumbers);
    // Echo out.
    echo json_encode($numbers).
}
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
    <head>
        <title>Graph Sort | PHPExperts.pro</title>
        <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
        <script type="text/javascript" src="js/jquery.json-2.2.min.js"></script>
        <script type="text/javascript">
var myNumbers = '5, 10, 22, 11';
var receivedNumbers;

<?php
// Send data from JavaScript -> PHP.
if (!isset($_GET['myData']))
{
?>
    jQuery.getJSON('receiveNumbers.php?sentNums=' + myNumbers, function(jsonReceived)
    {
        receivedNumbers = jQuery.parseJSON(jsonReceived);
        alert(receivedNumbers); // Expected [5,10,22,11]
    });
<?php
}
?>
       </script>
   </head>
</html>