Я пытаюсь разработать небольшой код API в php, который отправит запрос POST в json-формате с использованием PHP curl (со стороны клиента). И на стороне приема (на стороне сервера) я хочу разобрать запрос и обработать его. но на принимающей стороне он дает мне пустой массив в поле post. Ниже мой кодPHP API, получающий пустой запрос JSON в POST
стороне клиента:
<?php
$data = array("name" => "Hagrid", "age" => "36");
$data_string = json_encode($data);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, "xdata=".$data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);
echo $result = curl_exec($ch);
?>
На стороне сервера:
<?php
print_r($_POST);
?>
Blockquote Array() Blockquote
Он всегда дает мне пустой массив POST на стороне сервера. Я делаю что-то неправильно или есть другой способ разобрать запрос? Прошу вас, пожалуйста.
Таким образом, PHP всегда находится на сервере. PHP никогда не запускается на клиенте. –
Попробуйте добавить - curl_setopt ($ ch, CURLOPT_POST, 1); // - http://stackoverflow.com/questions/2138527/php-curl-http-post-sample-code –