我正在尝试使用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。
谢谢。
答案 0 :(得分:0)
试试这个:
success: function(data, status){
var jsonData = JSON.parse( data );
}
你可以使用json Data
例如,获取长度jsonData.length