2

我正在使用 ajax 发送数据:

$('article.work a').click(function(e){
    var h = $(this).attr('href');

    e.preventDefault();

    $.ajax({
      type: "POST",
      url: h,
      data: workItems,
      success: function(data){
        console.log('success');
        window.location = h;
      },
      error: function(){
        console.log('eror');                    
      }             
    });
});

它发送正常,在检查萤火虫帖子选项卡后,它看起来像:

邮政价值

所以我相信它正在发送正确的数据。但是当我尝试通过 php 从 $_POST 中检索它时,我做到了

<?php 
print_r(json_decode($_POST["json"])); 
?>;

什么都没有打印。

我究竟做错了什么?为什么即使发送了 $_POST 也无法识别我的数据?

4

1 回答 1

1

尝试:

var_dump($_POST['json'], true). 这意味着将产生关联数组,而不是对象。

尝试:

    $.ajax({
        url: "h",
        type: "post",
        data: workItems,
    });

并尝试使用var_dump($_POST);或作为关联数组获取数据:var_dump($_POST['workItems'], true);

我认为在输出 JSON 的结果之前应该正确格式化为 UTF8:

$result = mb_convert_encoding($result,'UTF-8','UTF-8'); 
$result = json_decode($result);

在输出 JSON 代码之前放置上面的代码。

于 2013-09-07T13:58:59.403 回答