簡體   English   中英

使用ajax在同一文件中將javascript變量傳遞給php函數,而無需刷新頁面

[英]Pass javascript variable to php function using ajax in same file without page refresh

我正在使用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
}

javascript window.location.href將javascript值傳遞給php函數,但也會重新加載頁面。

如果使用的是jQuery,則可以使用$.ajax() 它使您可以將數據發送到服務器,並對響應進行處理。

例如:

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

會將myvar發送到您的服務器(當然需要進行一些參數調整),並記錄服務器發送回瀏覽器控制台的所有內容。

閱讀有關使用jQuery的知識。

您可以使用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'];
}
}
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM