我应该使用哪种jquery ajax方法?

时间:2012-05-21 07:42:24

标签: javascript jquery ajax servlets post

我想将一个非常长的字符串发送到servlet。可能超过10,000个字符。

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

我使用了$ .post并面临人物限制问题 sending long strings in jquery post
using $.post has character limits?

4 个答案:

答案 0 :(得分:4)

您是否将字符串作为URL(GET)的一部分发送,或者您是否将该字符串作为POST正文的一部分发送?

使用此命令将其作为POST发送:

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

$ .post只是$ .ajax的别名(预设方法参数)=>你将使用哪种方法没有任何区别。

答案 1 :(得分: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”。

没有客户端限制(例如,由jquery强加)限制您可以通过post发送多少数据。

答案 2 :(得分: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){});

答案 3 :(得分:0)

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