2012-05-24 4 views
0

저는 Spring MVC 프로젝트에 Ajax를 추가하는 프로젝트를 진행하고 있습니다. 나는, 지금은 페이지에 오류를 표시하는 몇 가지 Ajax 코드를 만들려고 노력하고있는 태그 오류는 JSP를 삽입합니다 Spring3 MVC 오류를 Ajax로 이동 하시겠습니까?

<form:errors path="fieldName"/> 

를 제거했습니다. 누구든지 오류 메시지가 아닌 오류를 표시하는 다음 코드를 업데이트하는 방법을 알려줄 수 있습니까?

success: function(response) 
      { 
      // we have the response 
      $('#error').hide('fast'); 
      if(response.status == "SUCCESS") 
      { 
       $('#error').hide('fast'); 
       alert("Thanks for submitting. We will get back to you as soon as possible.\n\n" + response.result); 
       $('#error').hide('slow'); 

      }else 
      { 
       errorInfo = ""; 
       for(i = 0 ; i < response.result.length ; i++){ 
        errorInfo += "<br>" + (i + 1) +". " + response.result[i].code; 
       } 
       $('#error').html("Please correct following errors: " + errorInfo); 
       $('#info').hide('slow'); 
       $('#error').show('slow'); 
       $('#input').show('slow'); 
      }  
     }, 
     error: function(e){ 
      alert('Error: ' + e); 
     } 
     }); 

위의 코드는 오류가 아닌 오류 메시지

아래

를 표시하기 위해 노력하고 내 자바 코드 :

@RequestMapping(value = "/ajax.html", method = RequestMethod.POST) 
    public @ResponseBody 
    JsonResponse addMessage(@Valid 
      @ModelAttribute(value = "memberrequest") MemberRequest memberrequest, 
      BindingResult result) { 

      JsonResponse res = new JsonResponse(); 


     if (!result.hasErrors()) { 
      res.setStatus("SUCCESS"); 

      // Setting data over to RT 

      String Ticket = zzz.sentWebRequest(memberrequest); 

      /* 
      * Setting out the ticket number to be displayed to user 
      */ 

      Map<String, Object> model = new HashMap<String, Object>(); 
      Ticket t = new Ticket(); 
      t.setTicketDetails(Ticket); 

      model.put("ticket", t); 

      res.setResult(Ticket); 
     } else { 
      res.setStatus("FAIL"); 
      res.setResult(result.getAllErrors()); 
     } 

     return res; 
    } 
} 

JSON 클래스 :

공용 클래스 JsonResponse { 전용 문자열 상태 = null; 개인 개체 결과 = null;

public String getStatus() {return status; }

public void setStatus (String status) {this.status = status; }

public Object getResult() {return result; }

public void setResult (Object result) {this.result = result;

}

}

답변

1

response.result[i].code 대신 response.result[i].defaultMessage을 시도하십시오.

0
response.result 

는 응답 형태의 서버 측에서 일부 텍스트 값을 전달하면 W3C

에 의해 XMLHttpRequest 2에 따라 response 객체에는 result 속성이 없습니다. 전체 텍스트로 response.responseText을 얻을 수 있습니다.

+0

더 많은 것을 이해할 수 있도록 자바 코드가 추가되었습니다. – SJS

관련 문제