【问题标题】:which method of jquery ajax should I use?我应该使用哪种 jquery ajax 方法?
【发布时间】:2023-03-27 17:03:01
【问题描述】:

我想向 servlet 发送一个很长的字符串。可能超过 10,000 个字符。

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

我使用过 $.post 并遇到字符限制问题。
sending long strings in jquery post
using $.post has character limits?

【问题讨论】:

  • 那么为什么你第三次发布同样的问题呢?您的 servlet 是否适用于普通的 post 表单(非 ajax)?
  • 我经常做超过 10,000 个字符的 AJAX 帖子,没有任何问题。您能否发布一个示例或 jsfiddle 来演示您所看到的问题?
  • 我在创建小提琴时遇到了问题。我不知道如何在 jsfiddle 中发送 servlet 请求。我们在哪里保存 servlet。
  • @thg435 - servlet 中可能存在问题。我尝试了一个普通的表单帖子,它不接受超过 96 个字符。我的网络服务器有问题吗?
  • @MotaBOS:如果它不适用于简单的表单,是的,我想问题出在服务器端。检查错误日志。

标签: javascript jquery ajax servlets post


【解决方案1】:

您是将字符串作为 URL (GET) 的一部分发送还是将字符串作为 POST 正文的一部分发送?

使用它作为 POST 发送:

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

$.post 只是 $.ajax 的别名(使用方法参数预设)=> 您将使用这些方法中的哪一个不会有任何区别。

【讨论】:

    【解决方案2】:

    如果您有任何疑问:

    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 发送多少数据。

    【讨论】:

    • 是的,没关系。你和我的代码没有太大的不同。但是我仍然无法从您的代码中发送超过 96 个字符。我完全责怪 servlet 或 webserver。
    【解决方案3】:

    据我所知,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”作为获取参数发送。

    使用jquery向POST请求发送数据的方式是

    $.post(url, {data:'whatever you want blah blah blah'}, function(data){});
    

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多