Javascript 从Web API获取JSON数据后,在页面加载上动态添加新的HTML元素

Javascript 从Web API获取JSON数据后,在页面加载上动态添加新的HTML元素,javascript,html,json,cordova,Javascript,Html,Json,Cordova,我正在使用Phonegap/Apache Cordova构建一个混合Android应用程序。我的应用程序应该从我的web api获取数据。我正在使用JSON向应用程序提供数据。因此,我得到了以下代码: function init() { document.addEventListener('deviceready', onDeviceReady, false); var url = "http://23.21.128.153:3000/regions.json";var jsonresults

我正在使用Phonegap/Apache Cordova构建一个混合Android应用程序。我的应用程序应该从我的web api获取数据。我正在使用JSON向应用程序提供数据。因此,我得到了以下代码:

function init() { 
document.addEventListener('deviceready', onDeviceReady, false);
var url = "http://23.21.128.153:3000/regions.json";var jsonresults;
    $.getJSON(url,function(data){
        jsonresults = data;
          $.each(jsonresults, function(i,v){
          $('#main-content').append('<li>'+jsonresults[i].name+'</li>');
        });
    });
}
函数init(){
文件。添加的监听器('deviceready',onDeviceReady,false);
变量url=”http://23.21.128.153:3000/regions.json“var jsonresults;
$.getJSON(url、函数(数据){
jsonresults=数据;
$.each(jsonresults,function(i,v){
$(“#主要内容”).append(“
  • ”+jsonresults[i].name+”
  • ); }); }); }
    在html的主体上,我还有一个名为main content的div。在Eclipse浏览器中,一切都可以正常工作,但在Android Emulator上却无法正常工作。不确定是否有其他方法可以使用JSON从Web API提取数据,并在获取数据后动态创建HMTL元素


    从web api获取数据非常容易。试试这个代码。它会解决你的问题

    通过jquerymobile很容易。您可以使用普通Ajax和少量JSON来完成工作。我完成了php服务器。这里是示例代码

    通过jquery向服务器发送请求

    $.ajax({
              url: <your Server URL>,
              dataType: 'jsonp',
              jsonp: 'jsoncallback',
              timeout: 5000,
              success: function(data, status){
                                 /*Process your response here*/
    
          jsonresults = data;
          $.each(jsonresults, function(i,v){
          $('#main-content').append('<li>'+jsonresults[i].name+'</li>');
        });
    
     $.mobile.changePage($('#index')); /*page navigate the particular where data shown*/
     $("#index").trigger("pagecreate"); /*This is like a page refresh and load the injected data in jquery*/
                            }
           });
    
    $.ajax({
    网址:,
    数据类型:“jsonp”,
    jsonp:'jsoncallback',
    超时:5000,
    成功:功能(数据、状态){
    /*在这里处理您的答复*/
    jsonresults=数据;
    $.each(jsonresults,function(i,v){
    $(“#主要内容”).append(“
  • ”+jsonresults[i].name+”
  • ); }); $.mobile.changePage($('#index'));/*页面导航显示数据的特定位置*/ $(“#index”).trigger(“pagecreate”)/*这类似于页面刷新,并在jquery中加载注入的数据*/ } });
    在php服务器文件中

    <?php
    $data="I am sending response to you";
    
    /*you have to mention this callback compulsory*/
    
    echo $_GET['jsoncallback'] . '(' . json_encode($data) . ');';
    ?>
    
    
    
    您需要首先检查
    Logcat
    中的错误。找到错误日志,阅读它,然后在谷歌搜索后返回一个真正的问题:)对不起,可能我的问题表达得不够好,因为英语不是我的母语,但日志中没有错误。在我所有的代码中发布一个要点会有帮助吗?这对那些希望提供帮助的人来说太好了。你是否在whilelist中包含了ip地址??请检查此指南,并确保您参考的ip地址在您的项目中被列为白名单。谢谢您的回答,我已经让它工作了。但现在我的问题是,我正试图用从服务器获得的数据构建一个导航栏,但它并不像Jquery Mobile导航栏那样呈现,我得到的是一个简单的列表。下面是我用来创建导航栏的代码。看看这篇文章