-1

我想向 servlet 发送一个很长的字符串。可能超过 10,000 个字符。

我想知道哪个 jquery ajax/ 或任何方式将它发送到 servlet。

我使用过 $.post 并遇到字符限制问题。使用 $.post
在 jquery 帖子中发送长字符串有字符限制吗?

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”,第二个控制台日志报告“ok 106496”。

您可以通过 post 发送多少数据 没有客户端限制(例如,由 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

post没有限制,检查你的js代码,你有一些错误或者使用get方法而不是post

于 2012-05-21T07:57:47.770 回答