2011-10-06 115 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移到独立的类!

相关问题