Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当发送的数组超过特定长度时,AJAX调用返回403_Javascript_Php_Json_Ajax - Fatal编程技术网

Javascript 当发送的数组超过特定长度时,AJAX调用返回403

Javascript 当发送的数组超过特定长度时,AJAX调用返回403,javascript,php,json,ajax,Javascript,Php,Json,Ajax,我有一些jQuery代码通过AJAX调用向PHP脚本发送数据 数据由一个具有两个属性的对象组成 属性之一是字符串,由对象数组JSON.strinfigy(arrayofobjects)获得。 arrayofobjects中的每个对象都包含3个属性,每个属性都是一个简单的字符串。 arrayofobjects中的对象数量根据某些用户操作而变化 问题是:当arrayofobjects超过25个对象的数量时,AJAX调用失败并返回403禁止,因此任何调试都是不可能的 它看起来像是由JSON.strin

我有一些jQuery代码通过AJAX调用向PHP脚本发送数据

数据由一个具有两个属性的对象组成

属性之一是字符串,由对象数组
JSON.strinfigy(arrayofobjects)
获得。
arrayofobjects
中的每个对象都包含3个属性,每个属性都是一个简单的字符串。
arrayofobjects
中的对象数量根据某些用户操作而变化

问题是:当
arrayofobjects
超过25个对象的数量时,AJAX调用失败并返回
403禁止
,因此任何调试都是不可能的

它看起来像是由
JSON.stringify
生成的字符串,并通过AJAX ovverides发送最大长度

web服务器是Apache2,运行在Ubuntu 18.04上。 不使用任何PHP框架

我所尝试的:

  • Apache mod_安全模块未处于活动状态
  • 在php.ini中:display_errors=On、log_errors=On和error_reporting=E_ALL
  • 为apache2/error.log上的每个用户设置写入权限
  • 正常工作apache2/error.log,但没有AJAX相关问题的痕迹,没有任何
    403
    错误的痕迹
  • 被调用脚本的URL是正确的
  • 这不是跨域呼叫
  • 文件权限正常,因为脚本在其他实例中成功调用,并且
    arrayofobjects
    包含的元素少于25个
  • 我可以通过http直接访问被调用的页面
  • php.ini
AJAX调用的结构:

$.ajax({
url: "ajax/called_page.php",
type: 'post',
data: {action: "post_duty", content: JSON.stringify(arrayofobjects)},
dataType: "json",
success: function(data) {
 do some DOM manipulation
}, error: function() {
 alert('Contact webmaster');
}

在您的ajax中:
error:function(jqXHR,textStatus,errorhorn){console.log(jqXHR);console.log(textStatus);console.log(errorhorn);}
可以帮助调试可能重复的,如果您使用的是php框架,例如Symfony,那么您也应该检查该框架的日志(Symfony日志位于
/var/logs
@Casper中这不是CORS请求您如何知道:“当arrayofobjects超过25个对象时,AJAX调用失败”是真的?