Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.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/2/jquery/69.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
Php jqueryajax正在切割阵列?_Php_Jquery_Ajax_Laravel 5.2 - Fatal编程技术网

Php jqueryajax正在切割阵列?

Php jqueryajax正在切割阵列?,php,jquery,ajax,laravel-5.2,Php,Jquery,Ajax,Laravel 5.2,我正在向laravel控制器发送两个数据数组。发送前,每个阵列的长度约为220。然后,为了进行测试,我再次将json响应返回给jquery,长度为数组,第一个数组是ok-220,第二个数组是~114长度 我怎样才能解决它 Jquery ajax: console.log('Array first before '+arr.length); console.log('Array second before '+arr_planned.length); $.ajax({

我正在向laravel控制器发送两个数据数组。发送前,每个阵列的长度约为220。然后,为了进行测试,我再次将json响应返回给jquery,长度为数组,第一个数组是ok-220,第二个数组是~114长度

我怎样才能解决它

Jquery ajax:

    console.log('Array first before '+arr.length);
    console.log('Array second before '+arr_planned.length);

    $.ajax({
        method:'POST',
        url:url,
        data: {
            _token:token,
            arr:arr,
            arr_planned:arr_planned
        }
    }).done(function(msg) {
      console.log(msg);
    });
控制器

$array_normal = $request['arr'];
$array_planned = $request['arr_planned'];

return response()->json(['Array first after' => sizeof($array_normal),'Array second after' => sizeof($array_planned)],200);
编辑
我现在看到数组长度被限制为334(基于其他数组测试)


问题很可能是在php.ini配置中的请求中接受了多少变量。 您应该取消对
的注释;max\u input\u vars=100
到类似于
max\u input\u vars=100000的值


希望它能有所帮助。

您可能已经达到了最大帖子大小或输入变量的PHP限制。在网站的根目录中创建/编辑php.ini文件并添加

memory_limit = 256M
post_max_size = 150M
max_input_vars = 10000
您可以通过在响应中添加
['memory\u limit'=>ini\u get('memory\u limit')、'post\u max\u size'=>ini\u get('post\u max\u size')、'max\u input\u vars'=>ini\u get('max\u input\u vars')]
来检查是否实现了限制

PHP处理如此多数据的方式也可能存在问题。它可能在达到任何定义的限制之前将其截断。您可以将
$\u POST
php://input
,这是原始字符串数据。您可以使用如下函数:

function getRealPOST() {
    $pairs = explode("&", file_get_contents("php://input"));
    $vars = array();
    foreach ($pairs as $pair) {
        $nv = explode("=", $pair);
        $name = urldecode($nv[0]);
        $value = urldecode($nv[1]);
        $vars[$name] = $value;
    }
    return $vars;
}

var_dump($_POST, getRealPOST());

如果它们不同,那么PHP只是在填充
$\u POST
时遇到了一些困难,您可以使用
getRealPOST
函数作为解决方法。

return response()->json(['Array first after'=>count($Array\u normal),'Array second after'=>count($Array\u planned)]检查是否完全相同。谢谢!问题只是最大输入变量。很高兴你把它解决了。