0

私のアプリは、Web ページのフレームワークとして Dojo js ツールキットを使用する Java Tomcat WebApp です。私のフォーム・ページの 1 つで、Dojo の dojox.layout.ContentPane を使用して、大量のストリング・データを別のフォーム・ページに渡す必要があります。ContentPane はすべてのパラメーターを渡し、GET を使用して対応するページをロードしますが、Apache の LimitRequestLine を超えるため、414 Request-URI Too Large が発生します。

POST HTTP メソッドを使用するとこれが完全に解決されることを読みましたが、ContentPane はそれをサポートしていないようです。これに対する可能な解決策または回避策を受け入れる

Dojo IRC の「tk」から ContentPane.ioMethod を発見 #dojo

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

以下は、適切な POST フォーム データを ioArgs を介して ContentPane に渡すために機能します。

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

これが他の誰かに役立つことを願っています

4

1 に答える 1

1

ContentPane インスタンスが使用する XHR メソッドは、そのioMethodプロパティ (デフォルトはdojo/_base/xhr.get) を設定することでオーバーライドできます。に設定するとxhr.post、代わりに POST リクエストが送信されます。

( ContentPane は古い API と対話するため、dojo/_base/xhrではなく からのメソッドを渡す必要があることに注意してください。)dojo/request/xhr

于 2015-04-15T22:00:33.140 に答える