2013-06-24 83 views
0

我目前想知道爲什麼我不能在JavaScript中使用我的JSON結果,任何人都有想法?jQuery Mobile&JSON - 如何使用JSON響應?

我做不是得到任何警報,即使JSON調用的結果是成功的(返回代碼200),我可以在Firebug中看到結果。

$(document).on('pageinit', function(event){ 

    ... 

    $('.link').on('click', function (event) { 

      var parm = $(this).attr("data-parm"); 
      var url = 'http://****:8000/service?parameter=' + parm; 

      $.getJSON(url, function (data) { 
      var result = $.parseJSON(data); 
      alert(result[1].emnam); 
      parse(result); 
      }); 
    }); 

}); 

function parse(result) { 
     alert('parse function'); 
} 

我的JSON結果看起來像這樣在瀏覽器(通過螢火蟲或鉻開發工具)

{success: "true", 
msg: "Data retrieved", 
data: [ 
{pernr: "00001032", emnam: "Michaela"}, 
{pernr: "00001016", emnam: "Mike"}, 
{pernr: "00001024", emnam: "Frank"} 
]} 

最後,我要動態地添加列表視圖進入我的div #list ,有pernr和名稱列。謝謝!

+0

'.getJSON'已經解析JSON給你。 '$ .parseJSON(data)'會導致錯誤(我認爲)。 –

+0

感謝您的信息,但它似乎對我的輸出沒有影響。 – zyrex

+0

啊,訪問應該是'data.data [1] .emnam'。 –

回答

0

你可以做這樣的事情: http://jsfiddle.net/balintbako/jEc8d/

var table = $("<table><thead><tr><th>1</th><th>2</th></tr></thead><tbody></tbody></table"); 
$(".someclass2").append(table); 
$.each(data.data, function (i, item) { 
    table.find("tbody").append("<tr><td>" + item.pernr + "</td><td>" + item.emnam + "</td></tr>"); 
}); 
0

我從JQM-docs的驗證碼

<ul id="input_what" style="height:40px;width:100%;" data-role="listview" data-inset="true" data-filter="true" data-filter-placeholder="xyz" data-filter-theme="d"></ul> 

-

$("#input_what").on("listviewbeforefilter", function (e, data) { 
    var $ul = $(this), 
     $input = $(data.input), 
     value = $input.val(), 
     html = ""; 
    $ul.html(""); 
    if (value && value.length > 2) { 
     $ul.html("<li><div class='ui-loader'><span class='ui-icon ui-icon-loading'></span></div></li>"); 
     $ul.listview("refresh"); 
     $.ajax({ 
      url: 'http://****:8000/service?parameter=' + parm +'', 
      dataType: "json", 
      data: { 
       term: $input.val() 
      } 
     }) 
     .then(function (response) { 
      $.each(response, function (i, val) { 
       html += "<li ><a class='completeItem' href='#'>" + val + "</a></li>"; 
      }); 
      $ul.html(html); 
      $ul.listview("refresh"); 
      $ul.trigger("updatelayout"); 
     } 
     ); 
    } 
});