您在第一个代码中出错的地方是您必须使用以下代码:
var_dump(json_depre(file_get_contents("php://input"))); //and not $_POST['data']引用PHP手册
php:// input是一个只读流,允许您从请求正文中读取原始数据。
由于您要在主体中提交JSON,因此必须从此流中读取它。通常的方法
$_POST['field_name']不会起作用,因为发布主体不是采用URL编码的格式。
在第二部分中,您必须使用了以下命令:
contentType: "application/json; charset=utf-8",url: "ajax/selectSingle.php?m=getAbsence",data: JSON.stringify({'Absence' : JSON.stringify(this)}),更新 :
当request具有内容类型时
application/json,PHP不会解析请求,并在中提供JSON对象
$_POST,您必须自己从原始HTTP正文中对其进行解析。使用检索JSON字符串
file_get_contents("php://input");。如果您必须使用
$_POST它,可以做到:
data: {"data":JSON.stringify({'Absence' : JSON.stringify(this)})},然后在PHP中执行以下操作:
$json = json_depre($_POST['data']);



