5

クライアント側からサーバー側に XML を送信する必要があります。

私が採用した方法は次のとおりです。

最初に xml が javascript で文字列に変換され、次に uri として投稿されます

var url = '/perl/set_zorder_xml.cgi'+'?'+xmlString+'&'+location+'&'+'nocache='+randomnumber;

xml 文字列は、xml を文字列形式で含む文字列です。

ポスト関数は次のようになります。

if (window.XMLHttpRequest) {
            req_anno = new XMLHttpRequest();
            req_anno.open("POST", url, false);
            req_anno.send();
            }

問題は、xml 文字列が非常に大きい場合、html 414 エラーが発生することです。つまり、url が大きすぎます。抜け道はありますか、Javascriptとperlが使用されています

4

1 に答える 1

4

POST リクエストを実行していても、URL のクエリ文字列でデータを送信しています。代わりに、データを POST データとして送信するように移動し、URL から削除する必要があります。

req_anno.open("POST", '/perl/set_zorder_xml.cgi', false);
req_anno.send('xml=' + encodeURIComponent(xmlString));

XHR.send()メソッドは、送信される文字列をリクエスト ボディ (POST データ) として受け取ります。

于 2013-07-17T11:26:53.823 に答える