0

私はモバイルアプリを構築しており、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);                     
                }
            })         
        }
    });
});

ネットパネルをチェックすると、成功したことがわかり、データが来ています。

親切なアドバイス。どうもありがとう

4

1 に答える 1

2

あなたの応答には、応答にコールバック jsonpCallback() が含まれていません。私が見ている応答は単純です ({"name": ... })

于 2013-10-08T00:08:36.123 に答える