【发布时间】:2020-08-31 02:08:26
【问题描述】:
我正在使用 Reactjs 在 Rails 中创建一个应用程序。我想将输入字段的值作为变量传递给控制器,以便我可以在def create 中使用该变量。如何使用 fetch 做到这一点?
【问题讨论】:
标签: ruby-on-rails reactjs
我正在使用 Reactjs 在 Rails 中创建一个应用程序。我想将输入字段的值作为变量传递给控制器,以便我可以在def create 中使用该变量。如何使用 fetch 做到这一点?
【问题讨论】:
标签: ruby-on-rails reactjs
使用 fetch 的 POST 请求到您的 :create 方法的 API 后端端点。确保在 POST 时将变量包含在参数负载中。
然后在你的控制器中,你可以通过params访问你的变量
来自使用 POST (https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch) 的 fetch api 文档示例
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
最好先将参数列入白名单,然后再在控制器中使用它们。
【讨论】: