我使用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?
答案 0 :(得分:4)
最大网址长度有限制,取决于网络浏览器,网络服务器e.t.c. 当您传递url中的某些参数时,即使您使用POST请求,也会出现参数太长的问题。
在您的代码中,只有 {param:temp} 会存储在请求正文中。 str 是网址,因此它有最大长度限制。