0
  [{
      p_date: "26-07-2013",
      c_no: "1",
      time_slot: "shift1"
  }]

   $.each(data, function (i, elem) {


      alert(elem[p_date]);

  }); 

我从我的 php 文件中获得了高于 json 的信息。我要做的就是从 jquery 文件中读取它。我尝试了上述方法来读取该 json 。但它没有用。

      i get the following error Uncaught SyntaxError: Unexpected token p 
4

2 回答 2

5

elem[p_date]应该elem["p_date"]在您的每个功能中吗?或者你也可以试试elem.p_date

 var data = [{
     p_date: "26-07-2013",
     c_no: "1",
     time_slot: "shift1"
 }]

 $.each(data, function (i, elem) {
     alert(elem["p_date"]);
     //or elem.p_date would also work.
 });

演示:http: //jsfiddle.net/hungerpain/c46br/

编辑 :

如果您收到以下错误消息,

不能使用 'in' 运算符在 [{p_date: "26-07-2013" , c_no: "1", time_slot: "shift1" } ] 中搜索 '77'

这意味着您的(所谓的)JSON 是一个字符串。你必须这样做:

var formatted = JSON.parse(data);

然后,您可以使用formatted变量 in each

$.each(formatted, function (i, elem) {

PHP 格式化

这是在 PHP 中创建数组的方式:

$first = true;
$json = array();
while ($row = mysqli_fetch_array($distributor_List)) {
  array_push($json, $row);
}
echo json_encode($json) 

这将确保您不需要JSON.parse在 JS 中使用 :)

于 2013-07-26T07:46:12.063 回答
0

尝试这个

$.each(data, function (i, elem) {
     alert(elem['p_date']); //notice the `''`
}); 
于 2013-07-26T07:47:03.743 回答