以下是我发送的方式:
$.ajax({
url: `/api/task/${taskId}`,
type: 'POST',
data: JSON.stringify({test: []}),
contentType: 'application/json'
});
或者像这样(尝试过两者):
$.ajax({
url: `/api/task/${taskId}`,
type: 'POST',
data: {test: []}
});
在接收端,如果我访问$ _POST,则为空。如果我访问file_get_contents(' php://输入'),那么它包含我的json。
这里发生了什么?
答案 0 :(得分:2)
$_POST
仅包含作为表单一部分提交的urlencoded变量。在这里,您不是将JSON数据作为变量发布,而是作为有效负载发布。
因此,您需要像处理文件一样从请求输入中读取它。