【问题标题】:Passing JSON to AJAX PHP can not access the $_REQUEST[VARIABLE]将 JSON 传递给 AJAX PHP 无法访问 $_REQUEST[VARIABLE]
【发布时间】:2013-07-01 12:58:40
【问题描述】:

这里是 AJAX 请求

http://www.sample.com/wp-admin/admin-ajax.php?action=do_ajax&brim=val@val.com&email=&fn=send_email_feedback&human={"id":78,"nkey":610}&message=type&type=1

在human={"id":78,"nkey":610}

当通过接收并将其分配给php中的变量时

$human = $_REQUEST['human']

$human->id

【问题讨论】:

    标签: php ajax json wordpress


    【解决方案1】:

    在您的 $http 请求中,您是否更改过这样的参数:

    $http({
      url: '/wp-admin/admin-ajax',
      method: 'POST',
      data: {'human': Object.toJSON({
        // DATA
      })},
      transformRequest: function(obj) {
        var str = [];
        for(var p in obj)
          str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
        return str.join("&");
      },
      headers: {'Content-Type': 'application/x-www-form-urlencoded'}
    })
    

    【讨论】:

      【解决方案2】:

      试试这个。

      $human = json_decode(str_replace("\\",'', $_REQUEST['human'])); // this may work
      echo $human->id;
      

      或 回声 $human['id'];

      【讨论】:

      • 在它不起作用之前尝试过 json_decode,当我回显 $_REQUEST['human'] 时的附加信息会导致 {\"id\":78,\"nkey\":610}
      猜你喜欢
      • 1970-01-01
      • 2013-04-15
      • 2018-01-18
      • 1970-01-01
      • 2021-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多