我正在尝试使用以下网址在Jquery Mobile中执行远程代码完成示例:http://demos.jquerymobile.com/1.4.0/listview-autocomplete-remote/
我使用最新的PhoneGap和jquery mobile 1.4.3版本
自动完成javascript代码:
$(function() {
$( "#drink_brand_autocomplete" ).on( "filterablebeforefilter", function ( e, data ) {
var $ul = $( this ),
$input = $( data.input ),
value = $input.val(),
html = "";
$ul.html( "" );
if ( value && value.length > 2 ) {
$ul.html( "<li><div class='ui-loader'><span class='ui-icon ui-icon-loading'></span></div></li>" );
$ul.listview( "refresh" );
$.ajax({
url: "http://myalcoholist.com/drink-management/drink/drink-brand-autocomplete",
dataType: "jsonp",
crossDomain: true,
data: {
q: $input.val()
}
})
.then( function ( response ) {
console.log("response");
$.each( response, function ( i, val ) {
html += "<li>" + val + "</li>";
});
console.log(html);
$ul.html( html );
$ul.listview( "refresh" );
$ul.trigger( "updatelayout");
});
}
});
});
在Chrome开发者控制台中,我可以看到ajax调用正在执行,服务器返回一个json数组。
.then()没有被执行,没有想法为什么。 我试过.done()而不是我得到了相同的结果。 我没有得到任何javascript错误。
任何想法?