2010-06-17 66 views
0

我在以前的文章中看到過這個問題的一些答案,但沒有人給出一個真實的工作示例,只是僞代碼。有沒有人曾經這樣做過?在PHP中使用Javascript變量

基本上,我有什麼是在JavaScript(jquery)中的變量,我想用這個變量來驅動查詢(覆蓋窗口)我要在PHP中運行。

從我已閱讀,你可以使用AJAX調用同一個頁面所以它不自動刷新,但我必須失去了一些東西,因爲我無法得到它的工作做到這一點...

任何實例在那裏?

謝謝。

UPDATE 6/21/2010: 好吧,我試圖通過,但仍有一些問題......這是我有什麼。我在edit_1.php中處理的頁面。基於Firebug控制檯,頁面(edit_1.php)正在接收正確的'editadid'。

當我嘗試回顯它雖然,雖然我得到一個'未定義的變量'錯誤...什麼都可以看到我錯過了這裏?

這裏是JavaScript:

var jsVariable1 = $(this).parent().attr('id'); 
var dataString = 'editadid=' + jsVariable1; 
$.ajax({ 
    url: 'edit_1.php', 
    type: 'get', 
    data: dataString, 
    beforeSend: function() { 

    }, 
    success: function (response) { 

    } 
}); 

這裏是我的PHP: 如果(isset($ _ GET [ 'editadid'])) { $ editadid =(INT)$ _ GET [ 'editadid' ]。

}

echo $ editadid;

+1

你到目前爲止嘗試過什麼?我可以haz代碼samplez?很難說你的代碼出了什麼問題,而沒有看你的代碼。 – 2010-06-17 19:37:31

+0

看起來你讓挫折控制你。退一步,深吸一口氣,然後嘗試並更深入地瞭解您嘗試利用的技術。 – ChaosPandion 2010-06-17 19:42:49

回答

1

沒有看到您當前使用的代碼很難提供幫助。

在jQuery中:

var jsVariable1 = "Fish"; 
var jsVariable2 = "Boat"; 

jQuery.ajax({ 
    url: '/yourFile.php', 
    type: 'get', 
    data: { 
     var1: jsVariable1, 
     var2: jsVariable2 
    }, 
    success: function (response) { 
     $('#foo').html(response); 
    } 
}); 

那麼你的PHP:

<?php 

$jsVariable1 = $_GET['var1']; 
$jsVariable2 = $_GET['var2']; 

// do whatever you need to do; 

?> 

<h1><?php echo $jsVariable1; ?></h1> 
<p><?php echo $jsVariable2; ?></p> 

這是很普通的...但它會做的東西。

需要注意的一個重要的事情,以及一個非常常見的錯誤是,您作爲AJAX請求的結果而對DOM做出的任何附加(即,在本示例中,我向DOM添加了h1p標記),除非使用jQuery的livedelegate方法,否則不會綁定任何綁定到它們的事件處理程序,除非您使用jQuery的livedelegate方法。

1

我會說,而不是尋找一個例子,你必須瞭解ajax如何工作。你怎麼能通過ajax打一個URL並傳遞查詢參數(這些可以是你正在尋找的javascript變量)如何在javascript中捕獲服務器端響應並用於操縱現有頁面dom。或者,您可以發佈您嘗試過的內容,並且有人可以爲您更正。

+0

你打在頭上的指甲。我們可以通過例子,但如果你不知道代碼如何或爲什麼工作,你不是一個程序員。 – ChaosPandion 2010-06-17 19:45:31