Ruby on rails rails 5.2如何在控制器中获取表单数据值
我有一个简单的HTML表单,我正在使用FetchAPI和FormData向我的服务器发送一些数据 我正在将Ruby on rails rails 5.2如何在控制器中获取表单数据值,ruby-on-rails,ruby,ruby-on-rails-5,Ruby On Rails,Ruby,Ruby On Rails 5,我有一个简单的HTML表单,我正在使用FetchAPI和FormData向我的服务器发送一些数据 我正在将role和user\u id及其值发送到服务器。在控制器中,当我打印params时,我得到: {“-------------------------------------119083373100970968837505639\r\n内容处理:表单数据;名称“=>”\“角色\”\r\n\r\nadmin\r\n-----------------------------------------
role
和user\u id
及其值发送到服务器。在控制器中,当我打印params
时,我得到:
{“-------------------------------------119083373100970968837505639\r\n内容处理:表单数据;名称“=>”\“角色\”\r\n\r\nadmin\r\n-------------------------------------------119083373100970968837505639\r\n内容处理:表单数据;名称=\“用户id\”\r\n\r\n1\r\n------------------------------119083373100970968837505639\r\n,“控制器”=>“用户”、“操作”=>“updaterole”,“id”=>“1”}
如何从中访问并获取角色
和用户id
值
这是我在客户端的脚本:
var form = document.querySelector("#roleForm");
var formdata = new FormData(form);
fetch(url, {
method: "PATCH",
headers: { 'Content-Type':'multipart/form-data' },
body: formdata,
}).then(
response => response.text() // .json(), etc.
// same as function(response) {return response.text();}
).then(
html => {
console.log(html)
}
);
在我的情况下,评论中经常提到,我们的主体是不正确的。
我通过删除
标题:{'Content-Type':'multipart/form-data'},
form-fetch-request.解决了这个问题。。看起来我们不需要在标题中添加内容类型。无论如何,我的问题解决了。你能打印你在服务器上看到的params
的值吗?在发布你的问题时,它似乎丢失了。。当我在控制台中打印参数时,{“--------------------------------------119083373100970968837505639\r\n内容配置:表单数据;名称“=>”\“角色\”\r\n\r\nadmin\r\n--------------------------------------119083373100970968837505639\r\n内容配置:表单数据;名称=\“用户id”\“\r\n\r\n1\r\n--------------------11908337310097096988837505639--\r\n”,“controller”=>“users”,“action”=>“updaterole”,“id”=>“1”}hmmm看起来正文不对,请尝试手动创建formdata对象(formdata=new formdata();data.append('role',selected\u role);data.append('user\u id',userid)
)只是为了使内容更明确如果您没有文件上载,请尝试将json有效负载发送到服务器。但是您需要将内容类型更改为application/json
。是的,感谢所有人的帮助…我刚刚删除了fetch请求中的标题(标题:{'content type':'multipart/form data'),现在我的问题已得到解决