使用$ .post有字符限制?

时间:2012-05-17 11:18:29

标签: javascript jquery servlets

我使用jquery $ .post方法将字符串发送到servlet。

var temp = "hsad d jad a....sad";
var str="testServlet?param="+temp;
$.post(str, function(data) {
    alert("saved");
});
temp字符较少时,testServlet会收到一个电话,比如5000.但是当它有更多的字符时。字符即> 5000它没有被调用。 Firebug说'Aborted'。 我无法理解为什么。

我认为这可能是因为上面的代码以temp格式发送get所以我这样写了 -

var temp = "hsad d jad a....sad";
var str="testServlet";
$.post(str, {param:temp}, function(data) {
    alert("saved");
});

但在这种情况下,servlet被调用,但param为null 1.上述两种方法有何不同?
2.如果第一个方法是get,那么为什么jquery有$ .get?

1 个答案:

答案 0 :(得分:4)

最大网址长度有限制,取决于网络浏览器,网络服务器e.t.c. 当您传递url中的某些参数时,即使您使用POST请求,也会出现参数太长的问题。

在您的代码中,只有 {param:temp} 会存储在请求正文中。 str 是网址,因此它有最大长度限制。