duanchun5520 2014-03-12 10:20 采纳率: 0%
浏览 55
已采纳

PHP没有收到jQuery AJAX发送的JSON

I have a problem that puzzles me. I have an ajax function that sends a json object, and I see the JSON parsed in the F12 Chrome Headers, and I receive the success alert.

$(document).ready(function() {
        var test = {'bob':'foo','paul':'dog'};
        $.ajax({
            url: "test.php",
            type: 'POST',
            contentType: "application/json; charset=utf-8",
            data: JSON.stringify(test),
            success: function(data) {
                alert("Bien: " + data);
            },
            failure: function(errMsg) {
                alert("Mal: " + errMsg);
            }
        });
});

But in my PHP page I cannot see any POST, anything. I can see that my post is received but anything else:

<?php

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
   echo "post"; //Result 'post'
}

foreach( $_POST as $stuff ) {
    echo $stuff; //Nothing at all
}

print_r(json_decode($_POST["data"], true)); // Undefined index: data

In the same code I use

$.post( "test.php", { data: { name: "John", time: "2pm" } } );

and works, then is something related with the code, but I cannot really see waht is it.

Thank you for your help!

  • 写回答

1条回答 默认 最新

  • dppfxf909679 2014-03-12 10:28
    关注

    try this instead

    $results = json_decode(file_get_contents('php://input'));
    echo $results->bob //Result foo
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵