【发布时间】:2015-12-24 17:56:32
【问题描述】:
我希望让this example on jquery autocoplete 工作 使用我制作的一个简单的自定义服务,但它根本不起作用。
sn-p:
$( "#city" ).autocomplete({
source: function( request, response ) {
$.ajax({
url: "http://localhost:8085/TestJsonArrayAJAX/MyServlet",
dataType: "jsonp",
data: {
q: request.term
},
success: function( data ) {
alert("ciao");
response( data );
}
});
},
minLength: 3,
select: function( event, ui ) {
log( ui.item ?
"Selected: " + ui.item.label :
"Nothing selected, input was " + this.value);
},
open: function() {
$( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
},
close: function() {
$( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
}
});
我注意到原始服务的输出是这样的:
jQuery1113013915240531787276_1443349161768(["Milaca, MN, United States","Milam, TX, United States");
同时我的服务输出类似于:
["Roma","Milano","Napoli","Palermo","Torino","Firenze","Pisa"]
因为我认为一个 json 数组就足够了,显然还不够。
为什么它不起作用,为什么一个简单的 json 数组还不够?
你能帮忙吗?
编辑:
像这样实现我的服务:
JSONArray jarr = new JSONArray();
jarr.put("Roma");
jarr.put("Milano");
jarr.put("Napoli");
jarr.put("Palermo");
jarr.put("Torino");
jarr.put("Firenze");
jarr.put("Pisa");
String cb = request.getParameter("callback");
response.getOutputStream().print(cb+"("+jarr.toString()+");");
它有效,但我仍然不明白为什么??
【问题讨论】:
-
什么?不清楚我在问什么?你一定是在开玩笑......
标签: jquery html json ajax autocomplete