我想将一个非常长的字符串发送到servlet。可能超过10,000个字符。
我想知道哪个jquery ajax /或任何方式将它发送到servlet。
我使用了$ .post并面临人物限制问题
sending long strings in jquery post
using $.post has character limits?
答案 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