2013-08-12 2 views
0

모든 양식 데이터를 수집하여 XML로 컨트롤러로 보내려고합니다. 이 XML은 백엔드로 보내 져서 처리됩니다.
이 XML을 Object로 마샬링 할 필요가 없습니다.이 XML을 수신 한 후 String success 메시지를 다시 보내면됩니다.
반 작업입니다. UI 페이지에서 XML 메시지를받을 수 있으며 콘솔에서 인쇄 할 수 있습니다. jQuery 코드에서 '응용 프로그램/XML':하지만 난 그냥 UI 아약스 호출을 성공 메시지를 다시 보낼 때 데이터 유형을 제거하는
No conversion from text to application/xml봄 MVC : XML 데이터 받기 및 문자열 메시지 다시 보내기

@RequestMapping(value="/save",method=RequestMethod.POST,consumes={"application/json", "application/xml", "text/xml","text/plain"}) 
     @ResponseBody public String handleSave(@RequestBody String formData) 
     { 
      System.out.println("comes here"); 
      System.out.println(formData); 
return "Success"; 

    } 

$('form').submit(function() { 
        $.ajax({ 
         url: $(this).attr('action'), 
         type: 'POST', 
         processData: false, 
         data: collectFormData1(), 

         headers: { 
          "Content-Type":"application/xml" 
         }, 
         dataType: 'application/xml', 
         success: function (data) { 
          alert('Success:'+data) 
         }, 
         error: function (jqXHR, textStatus, errorThrown) { 
          console.log('jqXHR:'+jqXHR+'\n'+'textStatus:'+'\n'+textStatus+'errorThrown::'+errorThrown); 
         } 
        }); 

        return false; 
       }); 
+0

Spring MVC 구성에서'org.springframework.http.converter.StringHttpMessageConverter'를'HttpMessageConverter' 중 하나로 사용하고 있는지 알고 계십니까? AnnotationMethodHandlerAdapter는 명시 적으로 설정되어 있지 않으면 기본적으로 사용된다. 응답의'Content-Type'을'text/plain'으로 설정하려고 할 수도 있습니다. – superEb

답변

3

시도를받습니다.

설명서에 언급 된대로 : 데이터 유형 : 서버에서 예상하는 데이터 유형입니다. (http://api.jquery.com/jQuery.ajax/)

+0

헤더 : { "Content-Type": "application/xml" }도 제거해야합니까? –

+0

번호 서버 요청 헤더입니다. 확실하지 않지만 @RequestMapping에서 consumes = { "application/json", "application/xml", "text/xml", "text/plain"} 줄을 제거하면 제거하려고 할 수 있습니다. – yname