0

我正在使用 PHP 函数来显示地理围栏。我想在不刷新页面的情况下将 javascript 变量传递给同一文件中的 php 函数。

function load(id,type){
if(type===2){
  window.location.href="basic.php?idd=" + id;  // i want to change code here

<?php
   $cir =  get_fence_by_type($_GET['idd']);
   if($cir) {
   foreach($cir as $row){
     $fence_id  = $row['geo_id'];
   }
 }
?>

PHP函数是:

function get_fence_by_type($id){
    $query = "Select * from geofence where geo_id=".$id;
    $result = pg_exec($query);
    $d  = array();
    while($myrow = pg_fetch_assoc($result)) { 
        $d[] = $myrow;
    }   
    return  $d; //returns result in array
}

javascriptwindow.location.href将 javascript 值传递给 php 函数,但它也会重新加载页面。

4

2 回答 2

1

如果您使用的是 jQuery,则可以使用$.ajax(). 它允许您将数据发送到您的服务器并处理响应。

例如:

$.ajax({
    type: 'POST',
    data: myvar
    success: function(Response) { console.log(Response); }
});

将发送myvar到您的服务器(当然需要对参数进行一些调整)并记录服务器发送回浏览器控制台的任何内容。

阅读您可以使用 jQuery 做什么。

于 2013-05-22T07:51:05.613 回答
0

您可以使用 jQuery 来做到这一点。基本上你不刷新页面,你只需对服务器进行异步查询,你就会得到响应。在以下示例中,响应显示在警报框中。

您的“索引”文件:

function load(id,type)
{
    $.post("basic.php", { idd: idd }, function(data){ 
          alert(data); 
    });
}

和basic.php

<?php

function get_fence_by_type($id){
$query = "Select * from geofence where geo_id=".$id;
$result = pg_exec($query);
$d  = array();
while($myrow = pg_fetch_assoc($rs)) { 
    $d[] = $myrow;
}   
return  $d;
}
 $cir =  get_fence_by_type($_GET['idd']);
if($cir) {
 foreach($cir as $row){
 $fence_id  = $row['geo_id'];
}
}
?>
于 2013-05-22T07:54:26.003 回答