我正在尝试在支付界面网站上收到JSON POST,但我无法对其进行解码.
当我打印:
echo $_POST;
Run Code Online (Sandbox Code Playgroud)
我明白了:
Array
Run Code Online (Sandbox Code Playgroud)
当我尝试这个时,我什么也得不到:
if ( $_POST ) {
foreach ( $_POST as $key => $value ) {
echo "llave: ".$key."- Valor:".$value."<br />";
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试这个时,我什么也得不到:
$string = $_POST['operation'];
$var = json_decode($string);
echo $var;
Run Code Online (Sandbox Code Playgroud)
我尝试这个时得到NULL:
$data = json_decode( file_get_contents('php://input') );
var_dump( $data->operation );
Run Code Online (Sandbox Code Playgroud)
当我做:
$data = json_decode(file_get_contents('php://input'), true);
var_dump($data);
Run Code Online (Sandbox Code Playgroud)
我明白了:
NULL
Run Code Online (Sandbox Code Playgroud)
JSON格式是(根据支付站点文档):
{
"operacion": {
"tok": "[generated token]",
"shop_id": "12313",
"respuesta": "S",
"respuesta_details": "respuesta S",
"extended_respuesta_description": "respuesta extendida",
"moneda": "PYG",
"monto": "10100.00",
"authorization_number": "123456",
"ticket_number": "123456789123456", …Run Code Online (Sandbox Code Playgroud) 我被指示使用该方法php://input而不是$_POST与来自JQuery的Ajax请求交互时.我不明白的是使用这个VS的全局法的优点$_POST或$_GET.