3

wrap_parameters format: [:json]wrap_parameters.rb. 我用jQuery.post('photos', {name: 'flower'});. 在photos#create,params

{"name"=>"flower", "controller"=>"photos", "action"=>"create"}

但我期待

{"name"=>"flower", "controller"=>"photos", "action"=>"create", "photos"=>{"name"=>"flower"}}

我错过了什么?

4

2 回答 2

6

调用将jQuery.post('photos', {name: 'flower'});参数发布为“标准”形式(application/x-www-form-urlencoded 或 multipart/form-data),而不是 json。所以wrap_parameters format: [:json]不起作用。

尝试删除format: [:json]或发布 json 数据,例如

$.ajax({
  url:'photos',
  type:"POST",
  data:JSON.stringify({name: 'flower'}),
  contentType:"application/json; charset=utf-8",
  dataType:"json",
  success: function(){
    ...
  }
})
于 2012-06-18T05:44:56.520 回答
0

您必须使用标题“Content-Type”:“application/json”来执行您的发布请求。

于 2021-03-31T21:16:23.520 回答