javascript - 如何使用下划线 POST JSON 属性?

标签 javascript ruby-on-rails json reactjs axios

问题: 在服务器上,我收到 api_key 参数作为 api key(使用空格而不是下划线),我该如何发送它带有下划线?

代码:

data = {
  api_key: this.state.api_key
}

axios.post('/resource', data)
  .then(response => { console.log(response) });

我在前端同时使用 Reactaxios(必须使用 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/

相关文章:

ios - Swift 3 将 JSON 数据排序/分组到带有部分的 TableView 中

javascript - jQuery keydown 回调仅监听外部 <ul> 而不是内部 <li> 元素

ruby-on-rails - 使用设计范围重新定义默认路由

ruby-on-rails - form_for in dev 它是如何工作的?

javascript - D3 链接和节点以及动态数据

javascript - 循环内循环索引

javascript - 如何使用模型值动态更改选择菜单焦点颜色 - angularjs

javascript - knockout.mapping.js,是否可以只更新映射变量的一部分?

javascript - 将 React-Navigation 与 react-native-web 一起使用会抛出错误,因为它无法导入 web 相关模块

sql - 如何搜索和排序数据但排除sql中的前缀词