2014-07-22 2 views
0

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) 
+0

"returns string"에 대해 자세히 설명하십시오. 올바른 문자열을 반환합니까? 응답으로 제공되는 content-type은 무엇입니까? –

+0

String 대신 Ajax 메서드가 반환해야하는 것은 무엇입니까? –

+0

예상되는 결과는 무엇입니까? –

답변

0

: 크롬의 자바 스크립트 콘솔에서 나는 오류 잘못된 요청을 참조 콜백. 이미 데이터가 아약스 부탁으로 데이터 파일로 보내 직렬화 된 형태는 단지

$("#submitbutton").click(); 

$form.submit(function(e){}); 

을 변경하고 아약스의 성공 처리기에서 반환 된 응답을 확인 가지고

나의 제안이다 의뢰. 문제가 해결되기를 바랍니다.

+0

나는 당신의 제안을 시도했지만 여전히 동일한 응답을 가지고 있습니다. 내 편집을 참조하십시오. –

+0

@VolodymyrLevytskyi : ajax 요청에 dataType : "json"을 추가하십시오. –

+0

추가했지만 도움이되지 않았습니다. 그 밖의 무엇이 틀렸다고 생각하니? –

관련 문제