1

我现在如何在我的 js 文件中通过 ajax 将数据正常传递给 MVc 控制器操作

$.ajax({
    type: "POST",
    url:url,
    data:     {
            start_date:   scheduler.getEvent(id).start_date,
            end_date:  scheduler.getEvent(id).end_date,
            text: scheduler.getEvent(id).text,
            userId: userId
    },
    success:function(result){
        if(combo.getActualValue() != null){
            getUserEvents(id);
        }
        else{
            $.ajax({
                url:"/WebElanceSh/events",
                success:function(result){
                    json = result;
                    scheduler.parse(json, "json");
                }
            });
        }
    }
});

在我的控制器中

@RequestMapping(value = "events/add/", method = RequestMethod.POST)
public void addEvent(@RequestBody  String start_date,
                     @RequestBody  String end_date,
                     @RequestBody  String text,
                     @RequestBody  Integer userId){
    Event event = new Event(text,start_date,end_date);

    if(userId == -1){
         TestData.getInstance().AddEvent(-1, event);

    }
    else {
        TestData.getInstance().AddEvent(userId, event);

    }

}

但我总是加载资源失败:服务器响应状态为 415(不支持的媒体类型)

4

1 回答 1

1

建模一个匹配 ajax 请求的对象,然后将其用作请求参数:#

public class MyCommandObject {
   private Date start_date;
   private Date end_date;
   private String text;
   private Integer userId;

   /** Constructor wihtout parameter needed. */
   public MyCommandObject() {}

   Getter and Setter
}


@RequestMapping(value = "events/add/", method = RequestMethod.POST)
public void addEvent(@RequestBody  MyCommandObject command){ ... }
于 2013-10-27T13:09:27.723 回答