簡體   English   中英

將Spring3 MVC錯誤轉移到Ajax?

[英]Moving Spring3 MVC Errors to Ajax?

我正在做一個在Spring-MVC項目中添加一些Ajax的項目。 我刪除了標簽

<form:errors path="fieldName"/>

那會在JSP中插入錯誤,現在我試圖制作一些Ajax代碼以在頁面上顯示錯誤。 任何人都應該如何更新以下代碼以顯示錯誤消息而不顯示錯誤?

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);  
        }  
      });  

上面的代碼可顯示錯誤,但不會顯示錯誤消息

以下是我的Java代碼:

    @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 {private String status = null; private Object結果= null;

public String getStatus(){返回狀態; }

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

public Object getResult(){返回結果; }

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

}

嘗試使用response.result[i].defaultMessage而不是response.result[i].code

response.result

W3C根據XMLHttpRequest 2response對象中沒有result屬性

如果您在響應表單服務器端傳遞一些文本值。 您可以將它作為整個文本獲得response.responseText

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM