如何使用phonegap从远程php / mysql服务器检索数据

时间:2014-06-29 21:29:29

标签: jquery json cordova

我正在尝试使用phonegap构建ios应用

我希望远程服务器中的数据显示在phonegap中。 在我的服务器上我有php / mysql,在客户端我有phonegap并在jquery mobile中开发app。

我知道我需要使用jsonp,但我有问题。

在服务器端,我开发了非常简单的应用程序。

我有两个php页面

第一个php页面 - list.php ,显示导航列表(主页,关于我们,图库)。 第二个php页面 - text.php 显示有关list.php的信息。例如,关于页面,它显示"关于我们"信息,对于图库,它显示图像和一些文本信息...

在客户端,我也有两个html页面。

list.html - 该页面使用jsonp成功连接list.php。

在list.html上 - 我从远程服务器提取数据并显示导航(主页,关于我们,图库)。这样的页面显示导航列表,没什么特别的。

listtext.html - 这是有问题的html页面,我不知道如何解决。

当用户在浏览器中打开list.html时,他可以点击主页按钮或关于我们按钮(我的格式良好:listtext.html?id = 1)但我不知道如何解析listtext.html 。我想我需要得到,但我不知道该怎么做。

所以在listtext.html上,我需要查看家庭,关于我们,画廊的详细信息。

我附加了代码 - 这是 listtext.html 页面 - 只是javascript,因为问题肯定在这里

    $(document).ready(function(){
     var output = $('.nesa');

    $.ajax({
        url: 'http://www.example.com/text.php',
         dataType: 'jsonp',
        jsonp: 'jsoncallback',
        timeout: 5000,
        success: function(data, status){
            $.each(data, function(i,item){ 

                 var final= item.id;


                output.append(final);
             });
         },
        error: function(){
            output.text('There was an error loading the data.');
        }
    });

 });

这是 text.php 页面:

    <?php

//header('Content-type: application/json');

包括&#39; config.php&#39;;

$ con = mysql_connect($ dbhost,$ dbuser,$ dbpass)或死(&#34;无法连接:&#34; .mysql_error()); mysql_select_db($ dbname,$ con);

$ ID = $ _ GET [&#39; ID&#39;]; //从查询字符串中收集数据

$ sql =&#34;从ios中选择*,其中id = $ id&#34 ;; $ result = mysql_query($ sql)或die(&#34;查询错误:&#34; .mysql_error());

$ records = array();

while($ row = mysql_fetch_assoc($ result)){ $ records [] = $ row;

}

echo $ _GET [&#39; jsoncallback&#39;]。 &#39;(&#39; .json_encode($ records)。&#39;);&#39;;

?>

我确信text.php没问题,我用jason编码。我从text.php获得了jsonp输出 当我点击mysite.com/text.php?id=1我得到了&#34; home&#34; jason格式的页面。

但我的问题是javascript(jquery),因为我不知道如何解析。

那么你能帮我解决如何用javascript解析jason。

谢谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

success: function(data, status){
   var jsonData = JSON.parse( data );
}

你可以使用json Data 例如,获取长度jsonData.length