我想在使用post请求时使用csrf token。为此,我在api控制器中使用了 protect_from_forgery with: :null_session
在顶部。
但我应该如何在react中使用。
我也找不到任何好的文章。
fetch('/api/v1/posts', {
method: 'post',
body: JSON.stringify(postdata),
headers: { 'Content-Type': 'application/json' },
})
根据我的理解,你需要在调用时将X-CSRF-TOKEN作为头传递给Rails。你可以使用 "X-CSRF-TOKEN"。document.querySelector('[name="csrf-token"]').content
来获取令牌。
这应该在你的 componentDidMount
方法。
fetch('/api/v1/posts', {
method: 'post',
body: JSON.stringify(postdata),
headers: {
'Content-Type': 'application/json',
'X-CSRF-TOKEN': document.querySelector('[name="csrf-token"]').content
},
})