繁体   English   中英

JSON从PHP到JS

[英]JSON from php to js

将带有json数据的php变量解析为js的最佳方法是什么? 在php网站上,我有以下内容:

  $pdo = new PDO('mysql:host=localhost;dbname=test', 'homedbuser', 'homedbuser');
    $sqlQuery ="SELECT `serie`, `abtrag` FROM `testem`";

    $q = $pdo->query($sqlQuery);

    $result = $q->fetch(PDO::FETCH_ASSOC);

    $rowcount = $q->rowCount();

    $data = array(); 

    for($x=0; $x < $rowcount-1;$x++){

    $data[]  = $q->fetch(PDO::FETCH_ASSOC);

    $myJson = json_encode($data);

    echo $myJson;

The Output looks like this:

  [
  {"serie":"KK718X","abtrag":"71"},
  {"serie":"KK712X","abtrag":"337"},
  {"serie":"LK719X","abtrag":"93"},
  {"serie":"KK790Y","abtrag":"78"}
 ]

现在,我想将数据放入js变量中。

我必须选择哪种变量? 我尝试使用axaj / xmlhttp请求,但对于喷气机不起作用。 有人可以告诉您如何正确执行此操作吗?

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        var myObj = JSON.parse(this.responseText);
        document.getElementById("show").innerHTML = "myObject[1].serie";
    }
};
xmlhttp.open("GET", "demo_file_array.php", true);
xmlhttp.send();``

使用jQuery时,您可以使用以下语法:

$.get(url, function(data) { your code; }, 'json');

您会在data变量中自动获得一个javascript符合数组。

Grtngs Dustin

在下面的代码中,您将使用literal字符串,而不是对对象identifier的引用

document.getElementById("show").innerHTML = "myObject[1].serie"

也许将其更改为

document.getElementById("show").innerHTML = myObj[1].serie;

这是可用于XMLHttpRequest的成功处理程序的代码段:

var myObj = JSON.parse(this.responseText);
document.getElementById("show").innerHTML = myObj[1].serie;  // Use myObj not myObject and that too without `""`

使用以下代码:

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        var myObj = JSON.parse(this.responseText);
        //document.getElementById("show").innerHTML = "myObject[1].serie" add a text node to element html.

        document.getElementById("show").innerHTML = myObj[1].serie; //For Obhect data serie.
    }
};
xmlhttp.open("GET", "demo_file_array.php", true);
xmlhttp.send();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM