【问题标题】:Pass a PHP array using json_encode to be read with JavaScript [closed]使用 json_encode 传递 PHP 数组以使用 JavaScript [关闭]
【发布时间】:2013-02-18 00:32:13
【问题描述】:

在 query.php 文件中执行 mySQL 查询后,我使用 json_encode() 函数得到了这种格式的数组。

["A","B", "C"].

但是,我不太确定如何在单独的 HTML 文件中将此数组与 JavaScript 一起使用。在做了一些研究之后,这是我能够收集到的脚本。

$(document).ready(function() {
    $.getJSON('query.php', function(data) {        
        if(data)
        {
            document.write(data);   
            alert('success');    
        }
        else
        {
            alert('error');
        }
    });
}); 

我的问题是,如何将 PHP 数组(如上所示)复制到另一个可以与 JavaScript 一起使用的数组中?或者标签之间显示的脚本的最佳替代方案是什么?

谢谢

【问题讨论】:

  • 您需要使用 ajax 方法(如 $.getJSON)来执行此操作。难道你没有工作?
  • 如果你做的一切都正确,那么data 就是数组。
  • JSON 表示法后面的额外句点是什么?

标签: php javascript jquery arrays json


【解决方案1】:

query.php 中回显类似的结果

echo json_encode($result_array); // Assume $result_array as array("A","B", "C")

success 函数中你可以像这样使用它

    if(data)
    {
        alert(data[0]); // will alert A    
    }

或者你可以使用

$.each(data, function(k, v){
    console.log(k + ' = ' + v ); // k is key/index and v is value
});

这将输出(在控制台中)

0 = A
1 = B
2 = C

You can check this example.

【讨论】:

  • 正是我所需要的。谢谢。
  • @jll90,不客气 :-)
【解决方案2】:

这只是一个简单的函数调用:json_encode

【讨论】:

    【解决方案3】:

    您必须在您的 PHP 页面上回显 json 编码的数组,否则它将不起作用。然后你使用你找到的函数,成功后你使用 $.each 循环来实际显示内容。

    http://jquerybyexample.blogspot.be/2012/05/how-to-read-and-parse-json-using-jquery.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-13
      • 1970-01-01
      • 2020-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-25
      • 2021-02-10
      相关资源
      最近更新 更多