を確認することができ、私はしばらくの間、グーグルの後、私はこの私はjsonを解析したいが失敗する。いずれかの私のコード
$(document).ready(function(){
var output = $('#output');
$.ajax({
url: 'http://xxxx.com/android_sha/index.php',
dataType: 'jsonp',
jsonp: 'jsoncallback',
timeout: 5000,
success: function(data, status){
$.each(data, function(i,item){
var landmark = '<h1>'+item.sha_id+'</h1>'
+ item.sha_id+'</p>';
output.append(landmark);
});
},
error: function(){
output.text('There was an error loading the data.');
alert("error");
}
});
});
を得た。..今、私はこのうち各変数を抽出するデータベースから
[{"sha_id":"2","sha_text":"This is 1st sha."},{"sha_id":"4","sha_text":"this is 2nd sha"}]
これを印刷するPHPページを作成しました
しかし、私には常に警告エラーが表示されます。私は$.each(data, function(i,item){
で何かが間違っている可能性がありますが、正しい形式でなければならないことを理解できません。
'alert(" error ");'が実行された場合、 'success'コールバックが実行されなかったことを意味します。サーバーはJSONPを正しく出力しますか? JSONPは、JSONを関数にラップする必要があることを忘れないでください。 –
jsonの初心者として、私はサーバーがJSONPを正しく出力しているかどうかはわかりません。私はこのチュートリアルhttp://samcroft.co.uk/2011/updated-loading-data-in-phonegap-using-jquery-1-5/に従っているだけで、ソースコードを見てからjsonコードが返すものは何ですか。 (1行に整形されています)PHPコードを使用してjson outを作成するにはこれらのwhile($ row = mysql_fetch_assoc($ result)){ \t $ records [] = $ row; } echo json_encode($ records); – cjmling
JSONPは*実際には* JSONではありません。 JSONPはクロスドメインデータを取得するための「ハック」です。 JSONPは実際にはJavaScriptファイルです。 'callback([{a:1、b:2}、{c:3、d:4}])'のような関数呼び出しを含むべきです。 'callback'は' jsoncallback'パラメータの値に置き換えてください。 –