spring mvc ajax错误请求错误

时间:2015-07-23 22:56:27

标签: javascript java ajax spring spring-mvc

弹簧控制器方法:

concern :expired_paginatable do
  get '(page/:page)', :action => :expired, :on => :collection, :as => ''
end

get 'items/expired', to: "items#expired", :concerns => :expired_paginatable
resources :items, :concerns => :paginatable

JavaScript AJAX代码:

    @RequestMapping(value="/checklist/{id}",method=RequestMethod.PUT, consumes=MediaType.APPLICATION_JSON_VALUE , produces=MediaType.APPLICATION_JSON_VALUE)
    @ResponseBody
    public Checklist update(@RequestBody Checklist checklist, @PathVariable("id") int id)
    {
        checklist.setId(id);
        return service.update(checklist);

    }

核对表型号:

    var checklist={name:$('#newName').val(), details:$('#newDetails').val()};
                    $.ajax({                //send updated item values to
                        method:'put',
                        url:'/tracker/checklist/'+$(editingItem).attr('id'),
                        contentType:'application/json',
                        dataType:'json',
                        data:checklist,
                        success:function(data)
                        {
                            console.log(data);
                            $('#myModal').modal('hide');
                        }
                    });

我正在使用Jquery 1.11。当我在客户端使用'GET'代替'PUT''方法'而在服务器端使用'消耗'时,它可以工作。甚至我在发送发送时尝试使用JSON.stringify。我在服务器端使用jackson将数据转换为json

1 个答案:

答案 0 :(得分:1)

您使用的是哪个版本的jquery?

如果您在1.9.0之前使用jquery而不是在ajax调用中尝试type: 'PUT'而不是method:'put',那么它应该可以正常工作。否则它应该是method:'put'

查看文档以获取更多参考http://api.jquery.com/jquery.ajax/