【问题标题】:how to display json data dynamically in my listview in intel xdk如何在英特尔 xdk 的列表视图中动态显示 json 数据
【发布时间】:2015-07-25 14:42:53
【问题描述】:

我正在使用英特尔 xdk 和 jquery 移动 UI 框架开发混合应用程序。我有 json 数据,我正在尝试在我的列表视图中显示 json 数据,但我不知道如何在我的列表视图中显示 json 数据

这是我的 json 数据

{

 "nl_wu":[
           {
              "id":"42",
              "year":"2015",
              "month":"jan",
              "title":"newsletter",
               "file":"http://school.com/sample.pdf"
            },

            {
               "id":"39",
               "year":"2015",
               "month":"jan",
               "title":"imagetest",
               "file":"http://school.com/sampleimage.jpg"
             }

           ]

} 

我正在尝试使用此函数从 URL 获取以上 json 数据

 function showsmsmessage(){
             var i;
             var out ="";
             var json;
             var arr ;
             var URL ="http://example.com/filename.php"; 
             var xhr = new XMLHttpRequest();
             xhr.open("GET", "URL", false);
             xhr.onload = function(){
           if(xhr.status == 200)
            {
                var json_string = xhr.responseText;
                json = eval ("(" + json_string + ")");
                var s = JSON.stringify(json);
                arr = $.parseJSON(s);
                for(i=0;i<arr.nl_wu.length;i++)
                {
                     out = arr.nl_wu[i];
                     alert(out.title);
                }

             }
          else if(xhr.status == 404)
           {
             intel.xdk.notification.alert("Web Service Doesn't Exist", "Error");
           }
         else
          {
           intel.xdk.notification.alert("Unknown error occured while connecting to server", "Error");
          }
     }
       xhr.send(); 
}

我通过使用上面的 JavaScript 函数从 json 数据中获取“标题”,我想在英特尔 xdk 的列表视图中显示这个“标题”,你能告诉我这个“标题”是如何在我的列表视图中显示的吗

【问题讨论】:

标签: intel-xdk jquery-mobile-listview


【解决方案1】:

正如 krisrak 指出的那样,这里有回答问题的代码:

https://stackoverflow.com/a/30239006/3476918

但我还应该指出,您不应该将 eval 用于您使用它的目的。使用 JSON.parse 更简单、更安全,也就是说,而不是这样:

var json_string = xhr.responseText;
json = eval ("(" + json_string + ")");
var s = JSON.stringify(json);
arr = $.parseJSON(s);

你应该有这个:

arr = JSON.parse(xhr.responseText)

【讨论】:

    猜你喜欢
    • 2015-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多