Codeigniter - 403通过Ajax发送包含3000个条目的数组时禁止访问

时间:2017-03-30 19:43:35

标签: php jquery ajax codeigniter

我有一个Controller,它使用Ajax请求并响应数据库操作的结果。 Ajax调用由一组ID(一组int)和一条消息组成。

当这组ID具有正常的ID(我使用20个ID进行测试)时,Ajax调用将正常返回。当尝试发送3000个ID时,我得到一个几乎是即时响应的403 Forbidden Access错误。

这可能是Codeigniter或Apache服务器错误。我找了它,但没有找到任何答案。

提前致谢。

2 个答案:

答案 0 :(得分:0)

在您的AJAX代码上,您是通过GET发送它吗?如果是,请将其更改为POST

$.ajax({
        type: "POST",
        url: 'url',
        data: data,
        dataType: "json",
        cache: false,
        contentType: false,
        processData: false,
        success: function (data) {
            //some code
        }
    });

答案 1 :(得分:0)

默认情况下,php.ini有1000个max_input_vars变量。

Here您有如何更改文档

更改它,您将解决问题。我之前遇到过同样的问题。

例如:将以下行放入.htaccess

php_value max_input_vars 3000
php_value suhosin.get.max_vars 3000
php_value suhosin.post.max_vars 3000
php_value suhosin.request.max_vars 3000