尝试通过AJAX提交rails表单时出错400错误

时间:2018-05-04 18:01:15

标签: javascript ruby-on-rails ajax rails-activestorage

以下是设置:

  • 非常简单的表单,只有一个name字段,另外还有两个ActiveStorage附件字段square_imagelandscape_image
  • 这两个字段都设置了direct_upload: true
  • 如果所有表单字段都已填写,包括文件,提交工作完全正确,没问题。
  • 但是,如果您只填写name字段,将任意的文件字段留空,我每次都会获得invalid_request

这只发生在Safari

来自nginx的调试日志显示client prematurely closed stream: only 548 out of 953 bytes of request body received

它似乎不是一个nginx问题,因为我通过pow在本地获得了类似的体验(连接只挂了很长时间,大概是因为pow正在等待从未到过的数据)。

有没有其他人经历过这个,或者对如何调试这个有任何想法?我无法弄清楚从哪里开始。

  • Rails 5.2.0
  • Safari 11.1(13605.1.33.1.2)

1 个答案:

答案 0 :(得分:0)

这确实是webkit中的错误。据称它已得到修复,但此刻该错误仍会影响Safari。 https://trac.webkit.org/changeset/230963/webkit