Я надеялся сделать this example on jquery autocoplete работа с помощью простой пользовательской службы, которую я составил, но она вообще не работает.jquery autocomplete issue server side
сниппет:
$("#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 недостаточно?
Не могли бы вы помочь?
EDIT:
реализует свою службу, как это:
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()+");");
это работает, но я до сих пор не понимаю, почему ??
какой? непонятно, что я спрашиваю? вы, должно быть, шутите ... – GionJh