我正在构建一个移动应用程序,我构建了一个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": ... })