Я отправляю запрос ajax на контроллер Spring. Но он ничего не показывает КОГДА я отправляю запрос.
Мой запрос ajax
$(".secs li a").on("click",function(e){
e.preventDefault();
var id = $(this).data("value");
$.ajax({
url:"../tmax",
type:"POST",
data:{id:id},
success: function(response){
$("#testdata").html(response);
}
})
})
И мой контроллер
@RequestMapping(value = "/tmax", method = RequestMethod.POST)
public ModelAndView tmax(@RequestParam("id") String id) {
ModelAndView model = new ModelAndView("tmax");
model.addObject("dataCOLL", userService.finddataCOLLById(id));
return model;
}
Отправляю запрос в home.jsp. Данные должны получить tmax.jsp и отобразиться в home.jsp.
Моя страница tmax.jsp
<p>Hello World</p>
Спасибо
@ M.Deinum Да ... Но привет мир должен напечатать "знать" ИЛИ мне нужно получить сообщение console.info
Нет, не должно. Поскольку параметра нет, запрос приведет к ошибке.
@ M.Deinum Хорошо, я проверю
@ M.Deinum Теперь я передал параметр и получаю ошибку 404
Я нигде не вижу, чтобы вы отправляли параметры (если вы не обновляли свой вопрос).
@ M.Deinum Меня смущает ваш комментарий, он установил data в ajax, почему вы говорите, что он не отправляет параметр?
Поскольку он отправляет тело запроса JSON ... Тело запроса не является параметром.
@Ashu: попробуйте этот подход для передачи данных параметров: {'field1': 'hello', 'field2': 'hello1'},
@ M.Deinum, вы имеете в виду produces = MediaType.APPLICATION_JSON_VALUE? ну, я думаю, что пользователь может удалить эту конфигурацию, потому что он не установил dataType в ajax
Удаление этого может заставить его работать, но AFAIK .ajax по умолчанию отправляет тело запроса с JSON, а не запрос формы (но это может быть потому, что я слишком много отправляю JSON, а не формы).
@ M.Deinum Ошибка, допущенная в процессе набора текста, Для успеха я написал успех.
@AshokCharu Не могли бы вы поделиться кодом HTML для вызова этого Ajax?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете сделать это с помощью $ .ajax или $ .post
Использование $ .ajax:
$.ajax({
type: 'post',
url: 'tmax', //*why you are using double dot? url:"../tmax",*
data: {
'field1': 'hello',
'field2': 'hello1'
},
success: function (response) {
alert(response.status);
},
error: function () {
alert("error");
}
});
Использование $ .post:
$.post('tmax',
{
'field1': 'hello',
'field2': 'hello1'
},
function (response, status) {
alert(response.status);
}
);
Ошибка, допущенная в процессе набора успех, и теперь она работает
$(".secs li a").on("click",function(e){
e.preventDefault();
var id = $(this).data("value");
$.ajax({
url:"../tmax",
type:"POST",
data:{id:id},
sucess: function(response){
$("#testdata").html(response);
}
})
})
Ваш ответ не работает. Проблема в том, что я не получаю ответа.
Когда я даю URL только tmax, как вы указали, я получаю сообщение об ошибке. если я дам ../tmax, я ничего не получу
Проблема в том, что я не получаю сообщений об ошибках.
@AshokCharu Пожалуйста, проверьте, работает ли ваш вызов ajax .. ** $ (". Secs li a"). On ("click", function (e) {** подтвердите, что эта строка работает, или не пытайтесь предупредить ваш идентификатор
Вы не отправляете параметры. Вы отправляете тело запроса.