【问题标题】:Pass php arrray of objects to external javascript file with ajax() OR jQuery.getJSON and jquery?使用 ajax() 或 jQuery.get JSON 和 jquery 将对象的 php 数组传递给外部 javascript 文件?
【发布时间】:2012-10-17 20:07:29
【问题描述】:

这已经被问了很多,但我有点不能单独做,php 新手和 jquery 平庸。 所以,这是我的 php 文件

<?

            include("dbinfo.inc.php");

mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT ID, NAME FROM sets";
$result=mysql_query($query);

 while ( $results[] = mysql_fetch_object ( $result ) );
     array_pop ( $results );

$cards = json_encode($results);


echo $cards;
mysql_close();

?> 

这是生成的 json 的样子:

[{"ID":"1","NAME":"Abundant Growth"},{"ID":"2","NAME":"Aggravate"},{"ID":"3","NAME":"Alchemist's Apprentice"},{"ID":"4","NAME":"Alchemist's Refuge"},{"ID":"5","NAME":"Amass the Components"},....

出于某种原因,我想将我的 js 代码放在单独的 js 文件中。我尝试使用此代码访问数据:

var Sets = new Array();

 jQuery.getJSON("php/mainDB.php", function(data) {
Sets=data
    })

我希望 Sets 将被定义为一个对象数组(与 Sets 得到的相同 = 请帮我修复我的代码,并请发布代码示例。如果我也使用 $.ajax() 答案得到答案,我也不介意。将来可能会有所帮助:)

【问题讨论】:

  • 控制台部分的任何错误.,, 尝试解析为 json .. Sets= $.parseJSON(data)
  • 不,控制台只返回一个空的 []。
  • 卡片在从服务器发回之前的样子
  • 你的代码没问题。我刚刚尝试了这个小提琴,只要你的 php 发出正确的 json,它就可以正常工作。 jsfiddle.net/tariqulazam/KZLnk到底是什么问题?
  • 这是一个mysql数据库。数据库是静态的。可以在 magicdb.comli.com 上看到 php 的输出。我认为我的 getJSON 部分是错误的??

标签: php jquery mysql ajax json


【解决方案1】:

我怀疑它与异步加载有关。我会在 getJSON 调用中定义 Sets 变量:

jQuery.getJSON("php/mainDB.php", function(data) {
var Sets = new Array();
Sets=data;
alert(Sets[0].NAME);
})

(在此处查看类似问题:Persistence within jquery .getJSON()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-07
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    • 2015-03-11
    • 2018-02-19
    • 2017-10-07
    • 1970-01-01
    相关资源
    最近更新 更多