Я пытаюсь реализовать простой jQuery ajax-вызов. Все выглядит нормально в первую очередь, поскольку параметры доставляются контроллеру, но функция всегда возвращает ошибку, которая не очень хороша, если я хочу обновить некоторые элементы на странице после того, как желаемое действие будет завершено. Я видел, что на эту тему уже есть пара вопросов, но не из них помогли мне до сих пор. Пожалуйста, помогите, если вы заметили ошибку в следующем коде. ThxФункция jQuery ajax всегда возвращает ошибку
$(document).ready(function() {
$('#link').click(function() {
$.ajax({
url: "http://localhost:8085/KPIAdmin/kpis/get",
type: "GET",
data: {
param1: "value1",
param2: "value2"
},
success: function() {
alert("Success!");
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(jqXHR);
console.log(textStatus);
console.log(errorThrown);
},
});
});
});
На стороне сервера
@RequestMapping(value="/get", method=RequestMethod.GET)
public void ajaxGetKPI(@RequestParam("param1") String param1, @RequestParam("param2") String param2) {
System.out.println("param1: " + param1);
System.out.println("param2: " + param2);
}
Журнал ошибок
Object { readyState: 4, getResponseHeader: .ajax/v.getResponseHeader(), getAllResponseHeaders: .ajax/v.getAllResponseHeaders(), setRequestHeader: .ajax/v.setRequestHeader(), overrideMimeType: .ajax/v.overrideMimeType(), statusCode: .ajax/v.statusCode(), abort: .ajax/v.abort(), state: .Deferred/d.state(), always: .Deferred/d.always(), then: .Deferred/d.then(), 11 weitere… } ajaxGetKPI.js:24
"error" ajaxGetKPI.js:25
"Not Found"
я добавил 'DATATYPE: «json'' прямо под' type: «GET», но, к сожалению, он не решил мою проблему. – amsalk
Я думаю, что проблема заключается в сервере/службе, а не в запросе Ajax. Вы пытались сделать GET в браузере? – Andrew
Вы правы! Thx проблема была на стороне сервера. 'ajaxGetKPI()' метод должен возвращать somethig или, точнее, имя строки веб-страницы, которое будет отображаться с помощью средства просмотра вида, поскольку оно не возвращает никаких данных или json. Как только я добавил 'return' redirect:/kpis ";' все было хорошо. 'dataType: 'json'' не требуется в вызове ajax. – amsalk