在同一文件中使用ajax将javascript变量传递给php函数,无需刷新页面

在同一文件中使用ajax将javascript变量传递给php函数,无需刷新页面,php,javascript,Php,Javascript,我使用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(

我使用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'];
   }
 }
?>

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

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

例如:

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


您可以使用jQuery执行哪些操作。

您可以使用jQuery执行此操作。基本上,您不刷新页面,只需对服务器执行异步查询,就可以得到响应。在下面的示例中,响应显示在警报框中

您的“索引”文件:

和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'];
}
}
?>


Hi,请阅读AJAX。这是您需要使用的技术。在同一个文件中,没有页面刷新意味着AJAX!他/她在问题标题中确实提到了AJAX。也许他们需要在问题的主体中更具体一些。我想在同一个文件中将javascript变量传递给php函数。这就是AJAX的用途。它允许您将JavaScript数据(例如字符串)传递到服务器。JavaScript和PHP是完全独立的技术,但是有一些方法可以像加载网页一样进行通信。您不能创建一个重命名文件,例如将文件重命名为basic2.PHP,然后将PHP代码粘贴到那里,并将JavaScript保留在basic.PHP中吗?
$.ajax({
    type: 'POST',
    data: myvar
    success: function(Response) { console.log(Response); }
});
function load(id,type)
{
    $.post("basic.php", { idd: idd }, function(data){ 
          alert(data); 
    });
}
<?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'];
}
}
?>