发送PHP json_encode数组到jQuery不起作用

时间:2015-06-09 16:54:51

标签: php jquery arrays json

所以我想将一个PHP数组发送到jQuery,但是它没有工作,我不知道为什么。有人可以帮助我吗?

这是PHP:

var sizes = [];
for (var c=0; c<grid.getColumnCount(); c++){
    sizes.push(grid.getColWidth(c));
}

和jQuery:

$var1 = "hello";
$var2 = "world";
$values = array('value1'=>$var1,'value2'=>$var2);
echo (json_encode($values));

4 个答案:

答案 0 :(得分:1)

我认为你没有包含json对象的索引。试着用这个:

$.get("test.php", function(values){
var jsonValues = $.parseJSON(values);
$("showValue1").html(jsonValues[0].value1);
});

自2015年10月10日上午09:42 GMT + 8更新此答案。

如果此代码也有错误,请将代码返回到此jsonValues.value1。 我认为这将是解决方案。解析JSON时没有错误。我认为您的错误就是$("showValue1")。 JQuery不知道那个元素是什么。如果您的容器是ID:$("#showValue1"),则可以尝试此操作,如果是$(".showValue1")

,则可以尝试

例如,您的元素是:

<div id="showValue1"></div>

然后你的jquery是:

$.get("test.php", function(values){
    var jsonValues = $.parseJSON(values);
    $("#showValue1").html(jsonValues.value1);
});

答案 1 :(得分:1)

我测试了你的php代码并检查出来。我认为你的JQuery代码实际上有一些语法错误。

$("showValue1").html(jsonValues.value1);

很可能应该是

之一
$("#showValue1")[0].html(jsonValues.value1);
$(".showValue1")[0].html(jsonValues.value1);

JQuery使用#.分别表示元素的id和它的类。 [0]是因为它返回一个在页面上匹配的每个元素的数组,我假设你只想匹配第一个,但也许不是。查看jquery选择器的概述:http://www.w3schools.com/jquery/jquery_ref_selectors.asp

答案 2 :(得分:1)

我自己想出来了! 它可能不是最好的方式(我只是这个东西的初学者)但是它有效。

所以我试图将数据库中的数据放入数组中。我原帖中的代码只是一个示例版本,因为我想先尝试代码。

这就是我想出的。 PHP:

$array = array();

while($row = mysql_fetch_assoc($rs)){     //$rs is mySQL query
    $array[] = $row;
}

echo $array[0]['post']. '&';       //post is the column name from my database
echo $array[1]['post']. '&';
echo $array[2]['post'];

使用Ajax我做到了这一点(感谢stefanz!):

 $.ajax({
    method:    'GET',
    url:       'test.php',
    cache:     false,
    success:   function(data){
       var tmp = data.split("&");
       $('#showValue1').html(tmp[0]);
       $('#showValue2').html(tmp[1]);
       $('#showValue3').html(tmp[2]);
    }
});

感谢大家帮助我!它引导我使用我现在使用的代码。

答案 3 :(得分:0)

您也可以尝试做类似的事情:

$.ajax({
    url : 'test.php',
    method : 'GET',
    dataType : 'json',
    success : function( data ){
        var data = JSON.parse( data );
        $('#showValue1').html( data.value1 );
    }
});

获取更多文档here,这不应该是一项艰巨的任务。只需确保test.php的路径是正确的,并且exit()您的php文件也是一个很好的做法