Моя конечная точка Spring-boot POST возвращает данные, которые не работают с плагином впереди , который я использую.Это работает, когда я использую GET.
Эта конечная точка GET отлично работает:
@RequestMapping(value = "/station", method = RequestMethod.GET)
public @ResponseBody List<Station> getstation() {
List<Station> listStation = stationService.findAll();
return listStation;
}
с этим javascript:
$.get("/station", function(data) {
console.log(data);
$("[name='query']").typeahead({
source: data,
minLength: 3
});
}, 'json');
Возвращенные данные выглядят как [{id:123,name:"ABC"}]
.
Если я попытаюсь использовать конечную точку POST:
@RequestMapping(value = "/findstation", method = RequestMethod.POST)
public @ResponseBody List<Station> findstation(@RequestBody Station jsonSearchString) {
List<Station> listStation = stationService.stationContaining(jsonSearchString.getName());
return listStation;
}
с javascript:
$('#queryStation').keyup(function() {
console.log("in change function statoion oc");
var stationName = $(this).val();
if(stationName.length==3){
console.log("the length statement is true");
ajax_search(stationName);
}
});
function ajax_search(stationName){
console.log("search function value " +stationName);
var stationJson = '{ "name":"' +stationName+ '"}'
$.ajax ({
url: "/findstation",
type: "POST",
data: stationJson,
dataType: "json",
contentType: "application/json;",
success: function(data){
console.log("inside success handler");
stationTypeahead(data);
}
});
}
function stationTypeahead(data){
console.log(data);
$('#queryStation').typeahead({
source: data
});
}
Возвращает JSON как [{id:123, name:"LAX"}]
- который, похоже, не работает с плагином,typeof data;
возвращает объект.
Если я жестко кодирую, например, data = [{"id":123,"name":"ABC"}]
, это работает с плагином.
Я почти уверен, что HTML работает нормально, так как работает с GET.
Чего мне не хватает?
ОБНОВЛЕНИЕ
Тип: object
для POST и GET.