返回列表 發帖
getJSON() 顧名思義就是用來取得 JSON 格式的資料,你可以瞭解一下什麼是 JSON,怎麼用 JavaScript 去操作等等。

範例:
var j = [{name:"aa", text:"hello"},{name:"bb", text:"world"}];

alert(j[0]['name']); //aa
alert(j[0]['text']); //hello
alert(j[1]['name']); //bb
alert(j[1]['text']); //world

//對 j[0] 進行 loop 取值,idx 是 key (或稱 index)
for (var idx in j[0]) {
  alert(idx); //第一次是 name, 第二次是 text
  alert(j[0][idx]); //第一次是 aa, 第二次是 hello}
To infinity and beyond!

TOP

搜尋一下 JSON 應該可以找到很多喔。基本上 [] 包起來的東西是 Array,{} 包起來的東西是 Object,或是 PHP 裡面的關聯式陣列。

舉例來說:

[1, 5, 9, 2] 相當於 PHP 的 Array:
array(1, 5, 9, 2)
[{a:1}, {b: 5}, {c: 9}, {d: 2}] 相當於 PHP 的 Array:
array(
  'a': 1,
  'b': 5,
  'c': 9,
  'd': 2,
)
所以該如何設定就看你自己啦~
To infinity and beyond!

TOP

不用修改原 po 啦,可以直接回覆一篇新的或另 po 都可以,這樣如果有其他人看到才不會看不懂。

我建議你先用 JavaScript 的 Array 存放你要組的 table 字串,最後用 join() 合成字串後再用 $("#content").html() 把值給放入,這樣效能會比較好。先試試看吧,有問題再提出囉。
To infinity and beyond!

TOP

嗯,以 AJAX 資料傳輸的角度來看,使用 JSON 和 XML 的差異不大,就看你想選哪一種囉。
To infinity and beyond!

TOP

不錯喔,自己寫出來總是比較有成就感而且可以比較踏實學到東西。

不過你用的 append 和 jQuery 的 selector 太頻繁,效能比較不是那麼好,如果先把 html 組起來,一次 append 會比較好,而且字串的組合要用來 array 操作,效能會更好。
$(function(){  
  $.getJSON("test.json", function(json){
    
    var html = [];
    
    //在maintable裡面增加id為title的<tr>
    html.push('<tr id=title>');
    for (var i=0; i<json.column.length; i++) {
      //抓取json裡column欄位的資料寫入td,並依附id為title的tr
      html.push('<td>', json.column, '</td>');
    } 
    html.push('</tr>');
    
    //依data資料的數量,跑迴圈
    for (var y=0; y<json.data.length; y++) {
      var name = "mycol";
      var a = json.data[y].a;
      var b = json.data[y].b;
      var c = json.data[y].c;
      
      //在maintable再增加一列tr,並名為name_y(以識別每列tr名稱)
      html.push('<tr id=', name, "_", y, '>');
      //抓取json裡data欄位的資料寫入td,並依附id為各name_y的tr
      html.push('<td>', a,'</td><td>', b,'</td><td>', c,'</td>');
      html.push('</tr>');
    }
    
    $('#maintable').append(html.join(''));
  });
});
To infinity and beyond!

TOP

欄位或資料的格式就看你自己的實做狀況囉,如果自己能掌握 server 端的 output,那麼用最簡單的 array 也沒問題:
[
  ["aaa", "bbb", "ccc"], 
  ["aaaa", "bbbb", "cccc"], 
  ["aaaaa", "bbbbb", "ccccc"]
]
To infinity and beyond!

TOP

返回列表 回復 發帖