在 Phonegap 中加载 JSON?

2023-12-22

基本上我有一个位于服务器上的 php 脚本,它生成一个 JSON 文件,列出 mysql 数据库中的位置。我正在使用 jQuery Mobile 开发一个应用程序来显示这些地方。我的代码在 Chrome 和 Safari 中工作,但是当我将其移植到 Phonegap 时,它不起作用。我在互联网上进行了搜索,但找不到答案:(。

用于生成 JSON 的 php 文件(json.php):

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


$server = "localhost";
$username = "xxx";
$password = "xxx";
$database = "xxx";

$con = mysql_connect($server, $username, $password) or die ("Could not connect: " . mysql_error());
mysql_select_db($database, $con);

$sql = "SELECT * FROM places ORDER BY name ASC";
$result = mysql_query($sql) or die ("Query error: " . mysql_error());

$records = array();

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

mysql_close($con);

echo $_GET['jsoncallback'] . '(' . json_encode($records) . ');';
?>

我的 Javascript 文件位于我的应用程序中(加载 JSON 并显示它):

$('#places').bind('pageinit', function(event) {
    getPlaces();
});


function getPlaces() {

    var output = $('#placeList');

    $.ajax({
        url: 'http://www.mysite.com/json.php',
        dataType: 'jsonp',
        jsonp: 'jsoncallback',
        timeout: 5000,
        success: function(data, status){
            $.each(data, function(i,item){
                var place = '<li><a href="">'+item.name+'<span class="ui-li-count">'
                + item.checkins+'</span></a></li>';

                output.append(place);
            });
            $('#placeList').listview('refresh');
        },
        error: function(){
            output.text('There was an error loading the data.');
        }
    });

}

HTML 看起来像这样:

<div data-role="content">
            <h3>Places</h3>
            <ul data-role="listview" id="placeList" data-inset="true">

        </ul>
</div><!-- /content -->

此代码可以在 Chrome 和 Safari 中运行,但是当使用 Phonegap 在 xCode 模拟器中运行时,它不会加载 JSON。

任何帮助将非常感激 :)


这可能与白名单有关,苹果不相信任何类型的不可控数据(如 iframe 或 feed)。所以他们拒绝一切外部联系。

查看项目根文件夹 (xcode) 中的phonegap.plist,并将您的网站网址添加到数组“ExternalHosts”中。之后这可能会很好地工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Phonegap 中加载 JSON? 的相关文章

随机推荐