2011-10-06 114 views
2

我想通過jQuery AJAX將對象的數組發送到Spring控制器。 這裏是JavaScript代碼:通過AJAX將POST數組發送到Spring的控制器

var data = new Array(); 
      $.each(products, function (i) { 
       var temp = {}; 
       temp.orpid = products[i].orpid; 
       temp.orpah = $('#orpah' + products[i].orpid).is(':checked'); 
       temp.orpad = $('#orpad' + products[i].orpid).val(); 
       data.push(temp); 
      }); 
      $.postJSON(url + 'save', 
        data, 
        function(response) { 
         if (response.isAuthenticated && response.isAuthorized) { 
          if (response.hasErrors) { 
           $('#routeForm').setErrors(response.errors); 
           hideWait(); 
          } 
         } 
         else 
          redirectToLogin(); 
        }); 

下面是被髮送到服務器的PARAMS:

[{"orpid":10,"orpah":false,"orpad":""},{"orpid":11,"orpah":false,"orpad":""}] 

控制器的方法具有以下定義:

@RequestMapping(value = "/save", method = RequestMethod.POST, headers = BaseController.AJAX_HEADER) 
public ModelAndView save(@RequestBody HandlingOrderProductActionForm form, HttpServletResponse response) {...} 

其中HandlingOrderProductActionForm是:

public class HandlingOrderProductActionForm extends BaseForm { 
public class ActionForm { 
    private Boolean orpah; 
    private String orpad; 
    private Long orpid; 

    public ActionForm() { } 

    public void setOrpah(Boolean orpah) { 
     this.orpah = orpah; 
    } 

    public Boolean getOrpah() { 
     return orpah; 
    } 

    public void setOrpad(String orpad) { 
     this.orpad = orpad; 
    } 

    public String getOrpad() { 
     return orpad; 
    } 

    public void setOrpid(Long orpid) { 
     this.orpid = orpid; 
    } 

    public Long getOrpid() { 
     return orpid; 
    } 
} 

private List<ActionForm> actions; 

/** 
* 
*/ 
public HandlingOrderProductActionForm() { 
    super(); 
} 

public void setActions(List<ActionForm> actions) { 
    this.actions = actions; 
} 

public List<ActionForm> getActions() { 
    return actions; 
} } 

的問題是,服務器返回一個415錯誤:

The server refused this request because the request entity is in a format not supported by the requested resource for the requested method(). 

任何想法? 謝謝

回答

1

問題解決了 - 只要將ActionForm移到獨立的類!

相關問題