-1

非常に長い文字列をサーブレットに送信したい。10,000 文字を超える可能性があります。

どのjquery ajax/またはそれをサーブレットに送信する方法を知りたいです。

私は $.post を使用しましたが、文字制限の問題に直面しました。$.postを使用
してjquery postで長い文字列を送信すると文字制限がありますか?

4

4 に答える 4

4

URL (GET) の一部として文字列を送信しましたか、それとも POST 本文の一部として文字列を送信しましたか?

これを使用して POST として送信します。

$.post(url, {longString: veryLongString}, function(){});

$.post は $.ajax の単なるエイリアスです (メソッド パラメータ プリセットを使用) => これらのメソッドのどれを使用するかに違いはありません。

于 2012-05-21T07:56:11.157 に答える
3

ここであなたの心に疑問が残っている場合:

function ajaxTest () {
    var longstr = "qwertyuiopasdfghjklzxcvbnm";

    while (true) {
        longstr += longstr;
        if (longstr.length > 100000) {
            break;
        }
    }

    console.log(longstr.length);

    $.ajax({
        url: '/ajax',
        type: 'post',
        data: longstr,
        processData: false,
        success: function (reply) {
            console.log(reply);
        }
    });
}   

「ok」+受信した投稿データの長さで応答するようにサーバーを設定しました。最初のコンソール ログは「106496」を報告し、2 番目のコンソール ログは「ok 106496」を報告します。

ポスト経由で送信できるデータ量に、クライアント側の制限 (jquery などによる制限) はありません。

于 2012-05-21T08:51:19.170 に答える
1

私の知る限り、POST リクエストには文字制限はありません。GET には制限がありますが、POST 操作について思い出すことはできません。

上記のリンク(あなたが参照したもの):

$.post(
"TestServletAsh?xml="+str,
function(data) {
    alert("mission successfull");   //nothing to do with it or data here in this SO question
}
);

変数「str」を get パラメータとして送信します。

jquery を使用して POST リクエストにデータを送信する方法は次のとおりです。

$.post(url, {data:'whatever you want blah blah blah'}, function(data){});
于 2012-05-21T07:58:03.620 に答える
0

投稿に制限はありません。js コードを確認してください。間違いがあるか、投稿の代わりに get メソッドを使用しています。

于 2012-05-21T07:57:47.770 に答える