2014-03-26 247 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字符串。