2014-03-26 244 views
0

我想知道如何將一個變量從PHP過渡到Jquery。PHP變量jquery變量

我的PHP文件加載到一個div像這樣:

$("#leaguesSelectionTable th").click(function(){ 
     var teamSelect = this.id; 
$("#loadTables").load("php/leagueTable.php?team="+teamSelect); 
}); 

當leagueTable.php加載到DIV,我贊同並確保該變量到達那裏。它的確如此。

<?php if(isset($_GET['team'])){ 
    $team = $_GET['team']; 
}?> 

leagueTable.php也有其自己的.js文件與更多的功能。我想知道是否可以將leagueTable.php中的$ team變量獲取到.js文件(該文件在文檔就緒上運行)並存儲到變量中。喜歡的東西:

$.get("../leagueTable.php", function(data) { 
    var = data; 
}); 

我真的不明白關於Ajax調用是怎麼做的我指定我從PHP文件需要的技術數據是什麼?我只想回顧$ team變量並將其存儲在一個jQuery變量中。

謝謝。

+1

你需要把你的PHP數據和輸出轉換成jQuery庫可以輕鬆解析的格式。我建議把你的php數據轉換成json http://www.php.net/manual/en/ref.json.php,因爲jQuery可以很容易地與這個數據類型http://api.jquery.com/jquery進行交互。 getjson/ –

+0

好吧,我已經提前完成json_encode($ team);現在在我的下一步,像這樣:$ .getJSON(「../ leagueTable.php」,函數(數據){ \t \t \t var teamSelect = .....? – user2410532

回答

0

在這種情況下,load方法將會期望來自提供的URL的HTML嵌入在提供的元素#loadTables中。

script元素是完全有效的,並且瀏覽器可能會在追加新的DOM元素後立即執行裏面的內容。

所以,執行這個新的JS的上下文應該和你進行AJAX調用的上下文相同。如果我沒有錯,可以在調用load方法之前全局聲明一個變量,並且AJAX響應中包含的sub-script應該能夠訪問它。

雖然,我認爲這可能不是您可以使用的最佳方法。

0

簡單

<?php if(isset($_GET['team'])){ 
     echo $_GET['team'];exit; 
    }?> 

,並嘗試此檢查,如果你得到正確的價值觀

 $.get("../leagueTable.php", function(data) { 
      console.log(data); 
    }); 
+0

你能向我解釋「數據」嗎?數據只是一切和PHP的東西?如果我只想要一個變種呢?而且我不想回顯一個變量,它會顯示在頁面上嗎?嗯。 – user2410532

+0

nope,它不會在頁面上顯示.. if你正在發送一個Ajax請求,「data」是我們收集請求響應的參數。如果你在瀏覽器中打開這個頁面,那麼它會回顯$ _GET ['team']。 –

0
<script type="text/javascript"> 
$("#leaguesSelectionTable th").click(function(){ 
     var teamSelect = this.id; 
$.get("php/leagueTable.php?team="+teamSelect", function(data) { 
var teamSelect = jQuery.parseJSON(data); 
}); 

}); 
<script> 

OR 你可以簡單地使用如下:

var teamSelect = jQuery.parseJSON('<?php echo $teamSelect;?>'); 

這裏你將不得不預先將php文件中的$ teamSelect作爲一個JSON字符串。