ajax 帖子有大小限制吗?

Posted

技术标签:

【中文标题】ajax 帖子有大小限制吗?【英文标题】:Is there any size limitation for ajax post? 【发布时间】:2011-12-01 06:33:12 【问题描述】:

我通过 Ajax 将 ckeditor 内容发布到 php。但是在我的数据库表中获得了 4-5 句发布的材料。我想知道,有没有办法通过ajax发布大文本内容?

我的 js 是这样的

function postViaAjax(autosaveMode) 
    var name = $("#name").val();
    var title = $("#title").val();
    var menu = $("#menu").val();
    var parentcheck = $(".parentcheck:checked").val();
    var id = $("#id").val();
    if (parentcheck == 0) 
        var parent = parentcheck;
     else 
        var parent = $("#parent").val();
    
    var content = CKEDITOR.instances['content'].getData();
    var dataString = 'name=' + name + '&title=' + title + '&menu=' + menu + '&parentcheck=' + parentcheck + '&id=' + id + '&parent=' + parent + '&content=' + content;
    $.ajax(
        type: "POST",
        url: "processor/dbadd.php",
        data: dataString,
        dataType: "json",
        success: function (result, status, xResponse) 
            var message = result.msg;
            var err = result.err;
            var now = new Date();
            if (message != null) 
                if (autosaveMode) 
                    $('#submit_btn').attr(
                        'value': 'Yadda saxlanıldı ' + now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds()
                    );
                 else 
                    $.notifyBar(
                        cls: "success",
                        html: message + ' ' + now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds()
                    );
                
            
            if (err != null) 
                $.notifyBar(
                    cls: "error",
                    html: err
                );
            
        
    );
;

【问题讨论】:

您确定不需要使用encodeURIComponent() 对您的帖子参数进行编码吗? 【参考方案1】:

HTTP 中的 POST 没有任何大小限制。

也许您的内容变量中有一个 &。之后的一切都将被剥离。

除此之外,您对数据库中的数据列使用什么类型?有没有可能是 varchar(1000) 之类的东西?然后任何更大的东西也会被剥离。

检查您在服务器端实际收到的内容,以便了解您的代码或数据库是否有问题。

【讨论】:

是的,可能有这样的符号 & 。如何获取通过 ajax/ 发送的全文 这里有一些可能的答案:***.com/questions/2231810/…【参考方案2】:

理论上,AJAX 请求的限制与所有其他请求相同,因此这取决于您的 Web 服务器/应用程序设置。另见Max length of send() data param on XMLHttpRequest Post

【讨论】:

【参考方案3】:

您对 Apache 服务器有限制。寻找 LimitRequestBody 指令。

这可能会有所帮助:

http://gallery.menalto.com/node/14870

【讨论】:

【参考方案4】:

HTTP 规范没有对帖子施加特定的大小限制。它们通常会受到 Web 服务器或用于处理表单提交的编程技术的限制。

你使用什么样的服务器?

【讨论】:

linux 虚拟主机。问题是,我通过萤火虫看到帖子结果。 ajax 发布了准确的数据,我不知道为什么,但我在我的数据库表中得到了 4-5 句大文本材料。我的数据库字段类型是 0 大小的文本 服务器使用什么语言?

以上是关于ajax 帖子有大小限制吗?的主要内容,如果未能解决你的问题,请参考以下文章

增加最大帖子大小

如何在 asp.net 中使用 AJAX 文件上传来限制文件大小?

JavaScript Max Blob 大小是不是有任何限制

Android Honeycomb 有文件大小限制吗?

文本文件有大小限制吗? [复制]

求教httpclient 传输的数据大小限制问题