【问题标题】:using $.post has character limits?使用 $.post 有字符限制吗?
【发布时间】:2012-05-17 11:18:29
【问题描述】:

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

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

testServlet 在temp 的字符较少时收到一个调用,比如 5000。但是当它没有更多的字符时。字符数,即 > 5000 它不会被调用。 Firebug 说“已中止”。 我不明白为什么。

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

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

但在这种情况下,servlet 被调用但参数为空。
1.以上两种方式有区别吗?
2.如果第一种方法是get,为什么jquery有$.get?

【问题讨论】:

    标签: javascript jquery servlets


    【解决方案1】:

    最大 URL 长度有限制,取决于网络浏览器、网络服务器等。 当您在 url 中传递一些参数时,即使您使用 POST 请求,也会出现参数过长的问题。

    在您的代码中,只有 {param:temp} 将存储在请求正文中。 str 是 url,所以它有最大长度限制。

    【讨论】:

    • 那么第二种方法可以向 servlet 发送任意数量的字符吗?
    • {"yes":"我可以在这里发送非常长的字符串", "not":"any, of corse", "but":"非常长"}
    • 是的,它可以在它的第二个参数中发送它们。只是不要把你的数据放在 url 字符串中。
    • 嗨。请检查这个相关问题 - stackoverflow.com/questions/10680630/… 你能帮帮我吗。
    猜你喜欢
    • 1970-01-01
    • 2010-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 2011-08-22
    • 1970-01-01
    相关资源
    最近更新 更多