0

私のPHPコードにjqueryを介してphonegapに接続することにより、私のMysqlデータベースからいくつかの情報を取得しようとしています..

ただし、ページを(電話またはPCで)ロードすると、完全に空白になります..

これは私の jquery コードで、phonegap ビルドの <./body.> タグの直前にあり、最新の 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(){

アプリはリモート ドメインからデータをロードしているため、$.ajax の代わりに $.jsonp を使用する必要がある場合があります: 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 に答える