jQuery로 첫 번째 아약스 호출을 구현합니다. 내 @Controller 방법에스프링 컨트롤러가 ajax 호출시 텍스트를 반환합니까?
$('#hostelSearchFormButton').click(
function(e) {
$.ajax({
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
url : '${hostelSearchAjaxUrl}',
context: document.body,
dataType: "json",
data : $form.serialize(),
type : "POST",
cache: false,
async: true,
success : function(response) {
if (response.status == 'FAIL') {
for (var val in errMessages) {
var $errorLabel = $.find('#' + val
+ 'ErrorLabel');
$errorLabel.html(errMessages[val]);
}
}
},
error : function(data) {
console.log("data on fail " + data);
}
});
e.preventDefault();
return false;
});
이 성공적으로 게시물하지만 resonse으로 나는 HostelAjaxResponse 브라우저에서 JSON 문자열로 반환이 :
나는 이러한 코드를 입력했습니다. 나는 브라우저에서 문자열 만 볼 수 있습니다!아약스 게시물을 처리하는 나의 방법. 확인을 실행 중이지만 문자열을 반환합니다.
@RequestMapping(value = "/search", method = RequestMethod.POST, consumes = "application/json", produces = "application/json")
public @ResponseBody HostelAjaxResponse doSearch(@Valid @RequestBody HostelSearch hostelSearch,
BindingResult bindingResult, Model model, HttpServletRequest request) {
이제 아약스 호출이 실행될 때 아무 것도 얻지 못합니다. 나는 응답이 완료에 "console.log"
을 넣어이를 확인할 수 있습니다 다시 같은 page.You에없는 때 당신이 그렇게 컨트롤러에 양식을 제출하는 생각
POST http://localhost:8080/HostMe/hostel/search 400 (Bad Request)
"returns string"에 대해 자세히 설명하십시오. 올바른 문자열을 반환합니까? 응답으로 제공되는 content-type은 무엇입니까? –
String 대신 Ajax 메서드가 반환해야하는 것은 무엇입니까? –
예상되는 결과는 무엇입니까? –