私はモバイルアプリを構築しており、mysql db からデータをレンダリングして JSON としてエンコードする PHP API を構築しています。
この API を Jquery ajax で呼び出して、json 出力からのレコードを JSONP として表示し、成功関数でドキュメントにレンダリングします。
これまでのところ、$.ajax を介してリクエストを実行すると JSON が正しく取得され、firebug の Response にデータが表示されますが、反対側では ajax 関数が成功ではなくエラーを発生させます。
ここにデモコードがあります:jsfidle
これは私の $.ajax 呼び出しです:
$(document).on("pageinit","#myPage", function() {
$("#autocomplete").on("listviewbeforefilter", function ( e, data ) {
var $ul = $( this ),
$input = $( data.input ),
value = $input.val(),
html = "";
$ul.html( "" );
var dataString = 'keyword='+value;
if (value.length > 2 ) {
$.mobile.loading("show");
$.ajax({
type: "GET",
url: "http://example.com/search.php",
dataType: "jsonp",
jsonpCallback: 'jsonpCallback',
cache:true,
data: dataString,
success: function(data) {
$.mobile.loading("hide");
alert(data);
}
})
}
});
});
ネットパネルをチェックすると、成功したことがわかり、データが来ています。
親切なアドバイス。どうもありがとう