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



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

当 ID 集具有正常的 ID 时(我用 20 个 ID 进行了测试),Ajax 调用会正常返回。尝试发送 3000 个 ID 时,我几乎立即收到响应,出现 403 禁止访问错误。

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

提前谢谢。

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

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

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

这里有如何更改的文档

更改它,您将解决问题。我以前也有同样的问题。

例如:将以下行放入 .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

最新更新