最大の長さはsend()データparamにXMLHttpRequestポスト
-
02-07-2019 - |
質問
ある文書化した最大の長さの文字列データを利用できるの送信方法のXMLHttpRequestの主要なブラウザに実装?
私はラインの課題とJavaScript XMLHttpRequest後の失敗にFireFox3の場合のデータは約3k.たと仮定して、ポストが動作と同じで、従来の形にします。
W3Cにdocsのデータparamの送信方法ですDOMStringで、私にはどのように主要なブラウザで実施します。
ここでは簡易版のJavaScriptの場合、bigTextは約3k失敗した場合に、そうでない場合は作品...
var xhReq = createXMLHttpRequest();
function createXMLHttpRequest() {
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
try { return new XMLHttpRequest(); } catch(e) {}
alert("XMLHttpRequest not supported");
return null;
}
function mySubmit(id, bigText) {
var url = "SubmitPost.cfm";
var params = "id=" + id + "&bigtext=" + encodeURI(bigText);
xhReq.open("POST", url, true);
//Send the header information along with the request
xhReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhReq.setRequestHeader("Content-length", params.length);
xhReq.setRequestHeader("Connection", "close");
xhReq.onreadystatechange = onPostSubmit;
xhReq.send(params);
}
function onPostSubmit() {
if (xhReq.readyState==4 || xhReq.readyState=="complete")
{
if (xhReq.status != 200)
{
alert('BadStatus');
return;
}
}
}
解決
私の最大の長さによってかなり異なっており、ブラウザのウェブサーバーです。例えば、Apache HTTPサーバは LimitRequestBody指令 できるから0バイトのメモリ領域は2GBのデータです。
他のヒント
に応じて XMLRPC仕様, の実際の限界をサイズの整数が表示されます。
かかるような失敗したしかしながら、お客様のエンコードが間違っています。のものを使用できるencodeURIComponentなencodeURI.
デフォルト最大サイズの要求本体のお客様性による制限があります。サーバーとしては、既に指摘されていリンクをお断りすることが企業団体一定のサイズです。IIS6と7つの例として200KBのデフォルトを制限します。
の構成割になっている client_max_body_size することで任意に設定する20mのための20MiBまたは0に設定すると無効になります。
vim /etc/nginx/nginx.conf
保存ファイルを閉じ、この変化を愚.conf、試験-tおよび送信号-s-ブ:
/usr/sbin/nginx -t
/usr/sbin/nginx -s reload
構文:client_max_body_sizeサイズ
デフォルト:client_max_body_size1m;
コンテクスト:httpサーバの場所
セットには、許容される最大サイズのクライアントからのリクエストに身体、指定された"コンテンツの長さ"の要求ヘッダフィールド場合はサイズの要求を超えると、設定値の413(訂正-追加-削除請求書体が大きすぎ)エラーが返されます。いのブラウザでは正しく表示このエラーになります。設定サイズを0に有効にチェックのクライアントからのリクエスト本体サイズです。