我从JSON数组获取响应时遇到错误。 这是PHP代码我试试这段代码。
db.collection.find({
'createdAt': {
$gte: new Date()
},
user_list: {$elemMatch: {id: 'b', some_flag: 1}} // will only be true if a unique item of the array fulfill both of the conditions.
}).sort({
createdAt: 1
})
空
data data1;
input ID Type Payment_Amt;
cards;
1 Voucher $50
1 Cash $50
1 Cash $20
1 Card $20
1 Card $50
;
空
var_dump($_POST);die;
这里也是空的邮递员结果。
答案 0 :(得分:2)
如果您的整个POST主体包含JSON,您可以使用这段代码获取它:
$json = file_get_contents('php://input');
$decoded = json_decode($json);
答案 1 :(得分:1)
试试这个:
$postData = json_decode(file_get_contents("php://input"));
如果您只是发布一个好的旧HTML表单,请求看起来像这样:
POST /page.php HTTP/1.1
key1=value1&key2=value2&key3=value3
但是如果你正在使用Ajax,这个probaby还包括用类型(string,int,bool)和结构(数组,对象)交换更复杂的数据,所以在大多数情况下JSON是最好的选择。但是具有JSON-payload的请求看起来像这样:
POST /page.php HTTP/1.1
{"key1":"value1","key2":"value2","key3":"value3"}
现在内容将是application / json(或者至少不是上面提到的内容),所以PHP的$ _POST-wrapper不知道如何处理它(还)。
数据仍然存在,您无法通过包装器访问它。因此,您需要使用file_get_contents('php://input')
以原始格式自行获取(只要它不是multipart/form-data-encoded
)。
答案 2 :(得分:1)
你可以得到这样的价值:
$str = file_get_content("php://input");
$data = json_decode($str,true);
希望你能提供帮助。