对Rails的AJAX请求省略了右花括号

时间:2018-11-02 16:31:20

标签: ruby-on-rails ajax vue.js ruby-on-rails-5 axios

我在app hosted on heroku找到了一个this repo(提供完整的来源)。

当我执行发布或放置请求时,右大括号丢失了。例如,找到的代码here执行了一个创建食谱的帖子。

this.axios.post('recipes', { recipe: resource });

我在网络工具中看到以下原始请求。

{"recipe":{"ingredients":"","name":"t","tags":[],"categories":[]}}

但是在服务器端,我看到此错误。

{"recipe":{"ingredients":"","name":"test","tags":[],"categories":[]

ActionDispatch::Http::Parameters::ParseError (765: unexpected token at '{"recipe":{"ingredients":"","name":"test","tags":[],"categories":[]'):

rails/actionpack/lib/action_dispatch/http/parameters.rb:117: in `rescue in parse_formatted_parameters'
rails/actionpack/lib/action_dispatch/http/parameters.rb:111:in `parse_formatted_parameters'
rails/actionpack/lib/action_dispatch/http/request.rb:381:in `block in POST'

好像最后两个花括号被剪掉了。我一路跳到ActionDispatch::Request并撬起

> get_header "RAW_POST_DATA"
=> "\r\n" + "{\"recipe\":{\"ingredients\":\"\",\"name\":\"t\",\"tags\":[],\"categories\":[]"

我不知道它是来自axios还是来自rails。由于开发工具显示了有效的请求,因此我假设它处于正常状态,但是我不知道会导致什么。

它可以on heroku使用,但不能在开发环境中使用,我想不出任何改变。要进行复制,您可以像其他任何Rails应用一样进行设置,并为用户播种并尝试创建带有标题的食谱。

0 个答案:

没有答案