Как вызвать отчет по URL в Angular 6

У вас есть пустой $_POST. Если ваш веб-сервер хочет видеть данные в json-формате, вам нужно прочитать исходный ввод, а затем проанализировать его с помощью декодирования JSON.

Вам нужно что-то вроде этого:

$json = file_get_contents('php://input');
$obj = json_decode($json);

Также у вас неправильный код для тестирования JSON-связи ...

CURLOPT_POSTFIELDS сообщает curl, чтобы кодировать ваши параметры как application/x-www-form-urlencoded. Вам нужна JSON-строка.

UPDATE

Ваш php-код для тестовой страницы должен быть таким:

$data_string = json_encode($data);

$ch = curl_init('http://webservice.local/');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'Content-Length: ' . strlen($data_string))
);

$result = curl_exec($ch);
$result = json_decode($result);
var_dump($result);

Также на странице вашего веб-сервиса вы должны удалить одну из строк header('Content-type: application/json');. Его нужно вызывать только один раз.

0
задан Knight 17 January 2019 в 00:31
поделиться