Jquery ajax,无法接收大量数据

时间:2016-05-09 20:44:15

标签: javascript jquery ajax nginx

我需要通过ajax响应接收大量数据,并且看起来像实时服务器(nginx)上的某种数据大小限制会导致麻烦。在本地测试服务器(wamp)和实时共享主机apache上我没有限制或问题。目前数据为2.7mb,可能会变大。问题是该脚本将被多个用户使用,我不能强迫任何人增加post_max_size。

脚本非常简单

$.ajax({
    type: "post",
    dataType: "json",
    url: ajaxurl,
    data: {
        'action': 'get_data',
    },
    success: function(response, status, xhr) {

        if (response.data.html !== null) {
            //process html 2.7MB
        }
    }

});

数据如此之大的原因是json验证和html数据必须具有特殊字符,因此响应几乎是实际正常处理HTML的3倍。这只是一个小例子

<\/div>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t

现在我不知道如何处理这个问题。以块或者制动响应?如果您有任何建议,请。

更新,我们发现这是某种数据大小限制,但我们无法确定它

如果我们这样做

    wp_send_json_success(array( 
        'html' => substr($html, 0, 1830000),
    ));

数据正在通过

1840000

失败了,

我们的测试服务器是 nginx ,而litespeed config client_max_body_size设置为500M,因此我们不确定这个1.8M限制是什么。

0 个答案:

没有答案