从服务器获取 JSON 响应,但无法使用 Jquery 显示为 HTML


Getting JSON response from the server but can't display as HTML with Jquery

我正在构建一个移动应用程序,我构建了一个PHP API,该API从mysql db呈现数据并将其编码为JSON

我使用 Jquery ajax 调用此 API,以将 JSON 输出中的记录显示为 JSONP,并将其呈现在我的文档中的 success 函数中。

到目前为止,当我通过 $.ajax 执行请求时,我正确获得了 JSON,我可以在我的 firebug 中的响应中看到数据,但在另一端,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);                     
                }
            })         
        }
    });
});

如果你检查网络面板,你会发现它成功了,并且有数据来了。

恳请指教。多谢

您的响应中不包含回调 jsonpCallback(),我看到的响应很简单 ({"name": ... })