AJAX未正确发送数据-多维数组

时间:2020-01-07 作者:Alt C

我有一个大的多维数组作为ajax帖子发送。但在某些服务器中,它不会完全发送数据—阵列末端的一部分正在被剪切。

是否有任何限制?

add_action( \'wp_ajax_pgggo_ajax_sorting_loader\',  array($this, \'pgggo_ajax_loader_sorting_callback\'));
      add_action( \'wp_ajax_nopriv_pgggo_ajax_sorting_loader\', array($this, \'pgggo_ajax_loader_sorting_callback\') );

$.ajax({
      url: pgggoAjax.ajax_url,
      type: \'POST\',
      context: this,
      data: {
        action: \'pgggo_ajax_pagination_loader\',
        nonce: pgggoAjax.nonce,
        pgggosettings: pgggoAjax.pgggosettings,
        pgggopage: parseInt($(this).text()),
        pagesortorderaccent: \'\',
        pagesortorderdecnet: \'\',
      },
      success: function(response) {

      },
    });
  });
然后在我使用的回拨中

check_ajax_referer( \'pgggo_ajax_loader_nonce\', \'nonce\' ); if (isset($_POST[\'pgggosettings\'])) { $data_settings = $_POST[\'pgggosettings\']; }else{ $data_settings = ""; }

数组输出为bigone。。它超出了此处的最大限制。实际上,我要传递的是elementor小部件设置

$settings        = $this->get_settings_for_display();     
          wp_enqueue_script(\'pgggo-ajax-jquery\');
          wp_localize_script( \'pgggo-ajax-jquery\', \'pgggoAjax\', array(
            \'ajax_url\' => admin_url( \'admin-ajax.php\' ),
            \'nonce\' => wp_create_nonce( "pgggo_ajax_loader_nonce" ),
            \'pgggosettings\' => $settings,
          ) );

1 个回复
最合适的回答,由SO网友:Alt C 整理而成

答案是肯定的,它确实有限制。此服务器参数max_input_var 设置它。你可能需要增加它,让它发挥作用。

php文档:max\\u input\\u var:可以接受多少输入变量(限制分别应用于$\\u GET、$\\u POST和$\\u COOKIE superglobal)。使用此指令可以降低使用哈希冲突的拒绝服务攻击的可能性。如果输入变量比此指令指定的多,将发出E\\U警告,并从请求中截断更多的输入变量。

相关推荐

如何知道哪个页面正在调用admin-ajax.php?

最初的目标是:所有用户都可以在前端的页面上添加和删除图像,但他们只能看到自己的图像。当在网站的管理部分时,管理员应该看到来自每个用户的所有图像。(只有管理员才能访问网站的管理部分)。到目前为止,我有以下代码:add_action( \'pre_get_posts\',\'users_own_attachments\' ); function users_own_attachments( $wp_query_obj ) { global $current_user, $pagenow