AJAX响应条带多维数组,无法解码

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

我正在使用wp_ajax_wp_ajax_nopriv_ 在本地化脚本中,我传递了一个大的多维数组(它很大!)。它不需要任何JSON编码、解码。但我想在我调用ajax时对其进行编码。。。所以我用json_encode 在本地化脚本中(wp\\u json\\u encode也提供相同的输出)。。我通过ajax数据参数传递它。现在当我以
json_decode($_POST[\'largejson\'], true)
我得到的响应不是数组,而是带有大量反斜杠的字符串
\\":[{\\"field_type\\":\\"shortcode_elementor_pro\\",\\"_id

可能会出什么问题?

更新我用这个来调试它

if ($data_settings === null){
        switch (json_last_error()) {
          case JSON_ERROR_NONE:
              echo \' - No errors\';
          break;
          case JSON_ERROR_DEPTH:
              echo \' - Maximum stack depth exceeded\';
          break;
          case JSON_ERROR_STATE_MISMATCH:
              echo \' - Underflow or the modes mismatch\';
          break;
          case JSON_ERROR_CTRL_CHAR:
              echo \' - Unexpected control character found\';
          break;
          case JSON_ERROR_SYNTAX:
              echo \' - Syntax error, malformed JSON\';
          break;
          case JSON_ERROR_UTF8:
              echo \' - Malformed UTF-8 characters, possibly incorrectly encoded\';
          break;
          default:
              echo \' - Unknown error\';
          break;
          }
它显示-语法错误,JSON格式错误\';所以json\\U编码可能是问题的制造者

1 个回复
SO网友:Alt C

这修复了我的问题$set=stripslashes($set);

相关推荐

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

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