当前位置: 首页 > 知识库问答 >
问题:

使用Dojo的dojox.layout.ContentPane传递很长的URI时遇到414请求URI太大

赫连方伟
2023-03-14

我的应用程序是一个Java Tomcat WebApp,它使用Dojo js工具包作为我们网页的框架。我的一个表单页面涉及使用 Dojo 的 dojox.layout.ContentPane 将大量字符串数据传递到另一个表单页面。ContentPane传递所有参数并使用GET加载相应的页面,但会导致414 Request-URI太大,因为这超出了Apache的LimitRequestLine。

我知道使用POST HTTP方法可以完全解决这个问题,但是ContentPane似乎不支持它。接受任何可能的解决方案或变通办法

了解有关ContentPane的信息。来自Dojo IRC#Dojo中“tk”的ioMethod

<div class="contentPanel" id="contentPanel" data-dojo-type="dojox/layout/ContentPane" data-dojo-props="**ioMethod: dojo.xhrPost**">

下面是通过ioArgs将适当的POST表单数据传递给ContentPane的方法:

var obj = {val1: val1}
registry.byId("contentPanel").set("ioArgs",{content: obj}); 
registry.byId("contentPanel").setHref("whateverPage");

希望这有助于其他人

共有1个答案

姬念
2023-03-14

您可以通过设置ContentPane实例的< code>ioMethod属性(默认为< code>dojo/_base/xhr.get)来覆盖它使用的XHR方法。将其设置为< code>xhr.post将导致它发送post请求。

(请注意,您应该从dojo/_base/xhr传递给它一个方法,而不是dojo/Request/xhr,因为ContentPane与旧API交互。)

 类似资料:
  • 我的网页有剑道网格加载图像和一个“图形地图”按钮。 我提供了一个最小化的版本,我的观点如下 关于显示图 在这种情况下,我得到错误[请求Uri太长414]。 > 尽管窗口在同一视图中,但为什么kendoWindow将此数据作为查询字符串? 如何纠正此问题?

  • 我有一个包含大量参数的GET请求,每当我通过浏览器点击它时,它都可以正常工作,但是每当我尝试通过Postman点击相同的请求时,我都会得到-"414错误-Request URI Too大|nginx"。这是一些奇怪的事情,因为我通过浏览器获取结果。请帮助。

  • 虽然有很多与此问题相关的主题,但我仍然找不到解决此问题的方法。 我有一个非常具体的GET API REST调用,例如: /v1/booksid=40,41,42,43,44,45,46,47 然而,由于ID列表很长,有时会出现414请求URI过长的错误。 我读过与这个问题相关的每个主题,当有许多参数时,我们必须使用POST而不是GET(而不是试图改变apache中的max限制,我同意这不是一个好的

  • 我正在将Flask与Apache一起使用。当我发送带有长url(19000个字符)的GET请求时,响应是 我怀疑该请求触发了< code > werkzeug RequestURITooLarge异常或flask 。当我用相似的url长度直接向Apache发送请求时,没有错误。 有没有办法增加Flask处理的最大url长度?

  • 问题内容: 我已经开发了一个PHP网络应用程序。我给用户一个选项,可以一次更新多个问题。这样做时,有时用户会遇到此错误。有什么办法可以增加Apache中URL的长度? 问题答案: 在Apache下,该限制是可配置的值 。如果要支持更长的请求URI,请将此值更改为大于其默认值8190的值。该值在 /etc/apache2/apache2.conf中 。如果不是,请在下添加新行()。 但是,请注意,如

  • 因此,我尝试了Railscasts教程,以及ajax-datatables-rails gem的教程。我正在从数据库创建客户端列表--而不是用户。我相信我已经将其缩小到这样一个事实,即当通过Datatables使用方法时,我收到一个带有“Request-URI太大”的414。当我使用方法时,我只是获得除之外的所有属性的空值,这是有道理的,因为POST json用于创建客户端。任何帮助都非常感谢!