0

试图通过 jquery 与 phonegap 连接到我的 PHP 代码来从我的 Mysql 数据库中获取一些信息以显示出来。

但是,当我加载页面时(无论是在我的手机上还是在我的 PC 上)它会完全空白..

这是我的 jquery 代码,它位于 <./body.> 标签之前的 phonegap 构建中,我包括最新的 jquery:

<script type="text/javascript">
$(document).ready(function(){
    var output = $('#output');

    $.ajax({
        url: 'http://feedmysound.com/app/json.php',
        dataType: 'jsonp',
        jsonp: 'jsoncallback',
        timeout: 5000,
        success: function(data, status){
            $.each(data, function(i,item){
                var landmark = '<h1>'+item.title+'</h1>'
                + '<p>'+item.postin+'<br>'
                + item.user+'</p>';

                output.append(landmark);
            });
        },
        error: function(){
            output.text('There was an error loading the data.');
        }
    });
   });
 </script>

这是 json.php 上的 php:

<?php 
$con = mysqli_connect("localhost", "xxxxxx","xxxxxx", "xxxxxx");
if (!$con)
{
 die('Could not connect: ' . mysqli_error($con));
}

$result= mysqli_query($con, "SELECT * FROM xxxxx WHERE postin = 'main' ORDER BY datetime DESC")or die(mysqli_error($con));

$records = array();

while($row = mysqli_fetch_assoc($result))
{

$records[] = $row;
}   

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

有谁知道怎么了?

这是小提琴..不确定这是否可能在这里但http://jsfiddle.net/h4dmF/9/

亲切的问候

4

2 回答 2

0

您的 json.php 数据 URL 在浏览器中加载正常,因此 MySQL 连接没有问题。

我不确定您的应用程序,但小提琴至少被错误地包裹在 SCRIPT 标签中。这是一个工作示例:

http://jsfiddle.net/hansvedo/h4dmF/10

<div id="output"></div>​
<script type="text/javascript">
$(document).ready(function(){

由于应用程序正在从远程域加载数据,您可能需要使用 $.jsonp 而不是 $.ajax: http ://samcroft.co.uk/2010/loading-data-into-a-phonegap-app/

于 2012-12-12T23:27:45.663 回答
0

我不确定您的应用程序,但小提琴至少被错误地包裹在 SCRIPT 标记中。这是一个工作示例:jsfiddle ” – hansvedo

在评论中修复它!感谢所有试图帮助/思考问题的人!

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

    $.ajax({
        url: 'http://feedmysound.com/app/json.php',
        dataType: 'jsonp',
        jsonp: 'jsoncallback',
        timeout: 5000,
        success: function(data, status) {
            $.each(data, function(i, item) {
                var landmark = '<h1>' + item.title + '</h1>' + '<p>' + item.postin + '<br>' + item.user + '</p>';

                output.append(landmark);
            });
        },
        error: function() {
            output.text('There was an error loading the data.');
        }
    });
});
于 2012-12-12T23:29:56.127 回答