AJAX 请求在大型查询字符串上中止 Elixir Plug

2024-01-08

我在 AJAX 请求中发送 2 个大查询字符串,它们基本上是 jpeg 的 Base64 编码。当相机不是高分辨率相机时,AJAX 请求不会中止。

起初,我认为这是 Nginx 的问题,因为我收到错误如下request entity too large我解决了它,然后我对我的插头进行了更改

  plug Plug.Parsers,
    parsers: [
      :urlencoded,
      {:multipart, length: 20_000_000},
      :json
      ],
    pass: ["*/*"],
    query_string_length: 1_000_000,
    json_decoder: Poison

定义后query_string_length,现在我没有收到任何像上面这样的错误,但 ajax 请求仍然中止。

Base64编码字符串大小为546,591 bytes or max.

我也尝试将 AJAX 请求超时增加到一个非常大的时间跨度,但仍然失败。而且我现在不知道问题出在哪里。

我们如何接收长字符串Plug?

StackOverflow 上关于这个问题的一些答案,人们使用 AJAX 和 PHP,建议进行更改post_max_size,我们如何在 Elixir Plug 中做到这一点?


当您使用 JSON 数据发送 AJAX 请求时,您应该将 json 的长度配置放入插件中。

  plug Plug.Parsers,
    parsers: [
      :urlencoded,
      {:multipart, length: 20_000_000},
      {:json, length: 80_000_000},
      ],
    pass: ["*/*"],
    json_decoder: Poison

我想您不会将数据放入帖子的查询字符串中,因此query_string_length- 不需要查询字符串允许的最大大小。


---原答案---

适用于插头版本左右1.4.3并且没有query_string_length选项。

当您将数据作为字符串发布时,您正在使用Plug.Parsers.

如果您愿意处理更大的请求,请给出 :length 到 Plug.Parsers。

你应该改变代码query_string_length: 1_000_000 to length: 20_000_000.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AJAX 请求在大型查询字符串上中止 Elixir Plug 的相关文章

  • Ajax.BeginForm 路由到新页面而不是部分视图

    我有一个 Ajax BeginForm 调用 它应该返回部分视图 但将页面重新路由到操作 关于哪里出了问题有什么想法吗 这是我想要在其上呈现部分视图的主页上的代码 div class col md 6 using Ajax BeginFor
  • 如何根据所选类别隐藏 Django 表单中的字段?

    我需要确保当您添加新广告时 选择一个类别 隐藏表单中不必要的字段 我明白这是用JS做的 但暂时不太明白 所以我告诉你是否有人擅长 例如 我希望在选择 房屋和土地 时 舞台 消失 上市型号 class Listing models Model
  • ajax 请求中的 laravel TokenMismatchException

    我正在使用资源组并使用此过滤器来解析TokenMismatchException问题 Route filter csrf function route request if strtoupper request gt getMethod G
  • 在窗口卸载之前调用 jquery ajax 函数的最终方法是什么?

    我需要在窗口卸载之前调用 jquery ajax 函数 就我而言 它是一个 POST 我不关心返回结果 我只想更新数据库 所以答案似乎是将一个函数绑定到 unload 事件 即使用 jquery unload 函数 并且该函数进行 ajax
  • 在 Django 中 AJAX 发布后重定向

    我使用 Django 的内置 DeleteView 并为success url属性 现在在我的模板中 我通过 JQuery 的 post 方法触发此视图 当该项目被删除时 我不会被重定向到success url 经过一番查找 发现好像是AJ
  • 在asp.net mvc中如何知道请求是否是ajax?

    有人我怎么知道请求是否是ajax 我使用 jquery 进行 ajax 还有Request IsAjaxRequest如果您使用的是更高版本的 MVC 我不再有版本 1 所以我不能说它是否在版本 1 中 如果您需要在 Global asax
  • 如何使用 jquery 在 ajax 调用中设置标头

    我需要从我自己的应用程序调用 Office 365 Rest API 当我在同一浏览器会话上复制并粘贴 url 时 我可以看到一些 XML 如果我将该 URL 粘贴到隐身窗口中 则会收到以下错误 The custom error modul
  • 如何向 Ecto.DateTime 添加天数?

    我有一个像这样创建的日期时间 Ecto DateTime from erl 2015 3 10 0 0 0 这是一个凤凰应用程序 我想在没有任何额外第三方库的情况下增加几天 如何 至少从 Elixir 1 5 0 开始 您可以使用DateT
  • 使用 Python 从基于 AJAX 的网站提取信息

    我正在尝试使用 Python 检索基于 ajax 的网站 例如 www snapbird org 上的查询结果 由于它没有显示在页面源中 我不确定如何继续 我是一个Python新手 因此如果我能得到一个指向正确方向的指针那就太好了 如果更容
  • 是否可以在响应完成之前读取 AJAX 请求?

    我有一个 ajax 请求需要一段时间才能完成 但服务器确实会输出一些内容 如果我只是在浏览器中加载请求 我可以看到页面正在缓慢加载 并且可以随时停止 是否可以在服务器关闭响应之前访问不完整的ajax请求 完成此操作的方法是通过侦听 xhr
  • 如何在 Elixir 中展平嵌套列表?

    我有一个嵌套列表 1 2 3 4 5 6 我怎样才能把它压平 使它变成 1 2 3 4 5 6 无需重新发明轮子 只需使用List flatten 1 https hexdocs pm elixir List html flatten 1
  • f:ajax 不工作

    我很难得到f ajax从事某项工作h panelGroup 这就是我正在做的 JSF 代码
  • 如何在 jquery 中使 ajax 数据键动态化?

    我试图使内联编辑成为动态的 因此它只依赖于我的标记中的一些数据属性 所以现在的代码如下 inline edit editable function value settings var editableField this ajax typ
  • Wicket:并发 Ajax 请求仅限于一个?

    情况 在我的 Wicket 应用程序中 我有一个包含两个标签的页面 每次选择一个选项卡时 都会通过 Ajax 获取其内容 以便每次切换到不同的选项卡时 都会从服务器新鲜加载其内容 在其中一个选项卡上 我有一个输入字段 其中有一个 onblu
  • Django:管理中的 AJAX ManyToManyField

    我要显示ManyToManyFields 在 admin 中就像filter horizontal确实如此 但会在用户在过滤器字段中键入内容时填充选项 有很多选项 一次性加载它们需要很多时间 I found django ajax 过滤字段
  • 自动完成仅显示消息并且结果可用,使用向上和向下箭头键进行导航。而是显示列表

    我的问题很清楚 我正在使用 jquery 自动完成 我不知道为什么它只向我显示消息 9 results are available use up and down arrow keys to navigate 没有向我显示结果列表 这是我的
  • 创建动态多维对象/数组

    我正在尝试使用 JS 创建一个多维数组 以便我可以通过 Ajax 调用 PHP 来发布一些数据 这可能很简单 但我对 JS 的了解很少关于这个具体的事情 这是带有代码的 JSFiddle http jsfiddle net k5Q3p 我想
  • 从 HTTP 登录到 HTTPS

    我的网站默认使用 HTTP 我确实有一个启用 HTTPS 的证书 但只有其上的某些区域强制建立安全连接 登录是通过 Ajax 处理的 我想开始使用 SSL 即使请求来自 HTTP 我尝试强制请求的地址具有 HTTPS 并且它完美地回复 然而
  • Phoenix:在模板内分配值的渲染模板

    我正在尝试使我的应用程序干燥且模块化 但是 当我尝试将一个组件 小模板 放入另一个模板 较大的模块 中 该组件接收调用 实例化 时传递的动态值时 我收到此错误 assign conn not available in eex templat
  • 表单发布请求并存储收到的数据

    我有一个非常简单的表单 在提交时发出发布请求

随机推荐