问题:
在服务器上,我收到 api_key
参数作为 api key
(使用空格而不是下划线),我该如何发送它带有下划线?
代码:
data = {
api_key: this.state.api_key
}
axios.post('/resource', data)
.then(response => { console.log(response) });
我在前端同时使用 React 和 axios(必须使用 axios),以及 Rails在后端。
谢谢
更新
首先接收参数的rails操作:
private
resource_params
ActiveModelSerializers::Deserialization.jsonapi_parse(params)
end
最佳答案
Axios serializes object params with JSON.stringify
,这意味着请求几乎肯定是按照您想要的方式发送的(除非您以某种方式对其进行转换)。问题可能出在 Rails 端。查看您的 resource_params
方法,我可以看到您正在使用 ActiveModelSerializers 的 JSON API 适配器。但是,您使用 Axios 发送的请求不是 JSON API Compliant 。您可以尝试使用 JSON.parse(params)
或者更好,使用 Strong Params 。您还提到您正在使用 resource_params
作为之前的操作,但看起来您并没有像人们预期的那样在那里分配一个实例变量。你如何处理这个回应?您是否也在操作中直接调用该方法?
无论如何,如果这没有帮助,我很乐意在聊天中继续我们的讨论。
关于javascript - 如何使用下划线 POST JSON 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48117106/