【问题标题】:400 Error when Trying to submit rails form via AJAX尝试通过 AJAX 提交 rails 表单时出现 400 错误
【发布时间】:2018-05-04 18:01:14
【问题描述】:

设置如下:

  • 非常简单的表单,只有一个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)

【问题讨论】:

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


    【解决方案1】:

    这确实是 webkit 的一个 bug。据称它已被修复,但此时该错误仍会影响 Safari。 https://trac.webkit.org/changeset/230963/webkit

    【讨论】:

      猜你喜欢
      • 2012-06-29
      • 1970-01-01
      • 2018-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多