【问题标题】:Load database content into variable将数据库内容加载到变量中
【发布时间】:2012-06-02 10:57:23
【问题描述】:

我需要按照以下方案将数据库内容加载到变量data中。

var data = {
    "62": {
        sku: "62",
        section: "bodyImage",
        img: "images/diy-images/config-images/62.png",
        label: "plain red",
        price: "100"
    },
    "63": {
        sku: "63",
        section: "bodyImage",
        img: "images/diy-images/config-images/63.png",
        label: "plain pink",
        price: "110"
    },
    "360": {
        sku: "360",
        section: "bodyImage",
        img: "images/diy-images/config-images/360.png",
        label: "plain gray",
        price: "120"
    },
};​

我尝试使用以下功能来实现,但没有成功。我错过了什么?

var data = (function() {
    $.ajax({
        url: 'get_data.php',
        data: "",
        dataType: 'json',
        success: function(rows) {
            for (var i in rows) {
                var row = rows[i];

                var id = row[0];
                var section = row[1];
                var img = row[2];
                var label = row[3];
                var price = row[4];
            }
        }
    });
});​

【问题讨论】:

    标签: jquery json load


    【解决方案1】:

    你可以通过'.'获取json对象值运营商

    var data = (function() {
    
        $.ajax({
            url: 'get_data.php',
            data: "",
            dataType: 'json',
            success: function(rows) {
                for (var i in rows) {
    
                    var id = row.sku;          
                    var section = row.section;
                    var img = row.img;
                    var label = row.label;
                    var price = row.price;
    
                }
            }
        });
    
    });​
    

    【讨论】:

      【解决方案2】:
      var data = {}; // data variable for future use
      $.ajax({
       url: '',
       data: '',
       dataType: 'json',
       success: function(rows) {
         $.each(rows, function(i, val) {
            var id = val.sku,
                section = val.section,
                img = val.img,
                label = val.label,
                price = val.price;
         });
         // if you want to update data variable then
         data[sku] = {sku: sku, img: img, section: section, label: label, price: price};
        // to set data to a content
         $('#output_div').html(JSON.stringify(data));
       }
      })
      

      【讨论】:

      • 谢谢,但是我的数据输出仍然有问题。如果我将它们输出到 div 中,我只会得到未定义的值。我需要以与页面顶部示例完全相同的方式输出。
      • 我得到的唯一输出是 {}。 mysql 查询可能有问题: $result = mysql_query("SELECT * FROM table"); $数据 = 数组();而 ( $row = mysql_fetch_row($result) ) { $data[] = $row; } echo json_encode($data);
      【解决方案3】:

      您可以按名称寻址属性:

      for (var i in rows) {
          var row = rows[i];          
      
          var id = row.sku;          // or var id = i;
          var section = row.section;
          var img = row.img;
          var label = row.label;
          var price = row.price;
          ...
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-05
        • 2011-05-12
        • 2012-11-22
        • 1970-01-01
        • 1970-01-01
        • 2015-05-24
        • 1970-01-01
        • 2013-12-01
        相关资源
        最近更新 更多