Мое приложение бросает JSON.parse error
, потому что Spring MVC
возвращает вид, который поднимает XMLHttpRequest
.jQuery, Ajax ничего не возвращает Весна MVC
$("#formId").submit(function(event){
//var data = JSON.stringify($(this).serializeObject());
var data = JSON.stringify({"dateSmoked":"26/05/2015 19:00", "excessiveness":10, "intakeMethod":"bong", "comments":"ping"});
alert(data);
$.ajax({
url: $(this).attr('action'),
type: 'POST',
data: data,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (data) {
alert('Client created!! :-)')
},
error: function (jqXHR, textStatus, errorThrown) {
alert('An error has occured!! :-(');
alert(jqXHR.responseText);
alert(textStatus);
alert(errorThrown);
}
})
event.preventDefault();
});
Код выше отправляет запрос POST к следующему контроллеру:
@RequestMapping(method=RequestMethod.POST, headers="Content-Type=application/json")
@ResponseStatus(HttpStatus.CREATED)
public String createSmokeEvent(@RequestBody SmokeEvent evt)
{
Account account = (Account) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
System.out.println("Added");
return "redirect:/users/"+account.getUsername();
}
и контроллер возвращает вид - "redirect:/users/"+account.getUsername()"
. Сообщение XMLHttpRequest
, которое я отправляю, похоже, пытается попытаться проанализировать ответ с сервера, который является html с возвращаемого сервера.
Я в основном хочу, чтобы приложение отправляло запрос POST на сервер и позволяло серверу обрабатывать все, что перенаправляется на страницу. Никакого ответа не было. Я не хочу, чтобы jQuery попытался разобрать все, что возвращает контроллер.
В настоящее время код всегда терпит неудачу, поскольку он пытается получить JSON.parse
ответ HTML.
Возможно ли это?
ли вы на самом деле хотите, чтобы браузер перенаправляется слишком ? –
, изменив его на 'html', решил ошибку. Он успешно проходит сейчас, но не перенаправляет страницу. – SoftwareDude
AJAX обычно не приводит к перенаправлению на новую страницу в вашем браузере. Вам либо не нужно будет использовать AJAX, либо вернуть URL-адрес для перенаправления и перенаправить в браузере с помощью JavaScript. –