ruby-on-rails - 使用 fetch 在 rails 中传递变量
问题描述
我正在使用 Reactjs 在 Rails 中创建一个应用程序。我想将输入字段的值作为变量传递给控制器,以便我可以在def create
. 我怎么能用 fetch 做到这一点?
解决方案
使用 fetch 的 POST 请求到您的:create
方法的 API 后端端点。确保在发布时将变量包含在参数有效负载中。
然后在您的控制器中,您可以通过params
编辑:
从使用 POST 的 fetch api docs 示例(https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch)
async function postData(url = '', data = {}) {
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
});
return response.json();
}
postData('/your/api/endpoint', { data: 'yourData' }).then(res=> { console.log(res) });
然后在您的控制器中,{ data: 'yourData' }
通过参数访问,如下所示:
def create
@data = params[:data]
// Do what you want with @data here
end
在您的控制器中使用它们之前,最好先将您的参数列入白名单。
推荐阅读
- python - OpenNERO Ubuntu:进程以退出代码 134 完成(被信号 6:SIGABRT 中断)
- javascript - 条纹结帐在关闭后将 Chrome 挂起几秒钟
- linux - docker-compose 找不到合适的配置文件
- sed - 如何使用 sed 用制表符替换特定字符
- apache-spark - 现在或将来会支持多少种窗口类型触发结构化流支持?
- jmeter - Jmeter的startAgent.sh协议中的“network i/o”是什么意思?
- java - JPMS 是否支持来自 META-INF/services 的自动模块服务?
- sql - Oracle SQL - 如何使用 JSP 调用 ODCI 流水线函数
- excel - 在用户窗体中复制文本框
- oracle - Oracle DB 未声明为“正确”