弹簧控制器方法:
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
答案 0 :(得分:1)
您使用的是哪个版本的jquery?
如果您在1.9.0之前使用jquery而不是在ajax调用中尝试type: 'PUT'
而不是method:'put'
,那么它应该可以正常工作。否则它应该是method:'put'
。
查看文档以获取更多参考http://api.jquery.com/jquery.ajax/