Intereting Posts
Как отправить HTML-адрес электронной почты с помощью SMTP в PHP Заменить лишние пробелы и разрывы строк на PHP? Получение названия и описания мета Почему PHP mail () требует почтовую программу, такую ​​как sendmail / postfix / etc. для отправки писем? Показать BLOB-образ PHP MySQL вместе с другими данными Использование php для ping веб-сайта PHP-код для Asp.Net C # Первый день текущего месяца в php, использующий date_modify как объект DateTime Как выбрать уникальное значение из столбца на основе нескольких идентификаторов во многих случаях? Предупреждение: mysql_num_rows (): предоставленный аргумент не является допустимым ресурсом результата MySQL Ошибка наследования шаблона шаблона PHP Singleton Моделирование много-ко-многим с несколькими типами объектов в Kohana w / ORM Интерпретация возвращаемого значения функции непосредственно в виде массива Извлечение подстроки, которая обертывается некоторыми символами Выход Json_encode umlauts

Delphi TIdhttp Post JSON?

Кто-нибудь получает JSON для работы с TIdHttp?

PHP всегда возвращает NULL в $_POST , я делаю что-то неправильно?

Источник Delphi:

 http := TIdHttp.Create(nil); http.HandleRedirects := True; http.ReadTimeout := 5000; http.Request.ContentType := 'application/json'; jsonToSend := TStringStream.Create('{"name":"Peter Pan"}'); jsonToSend.Position := 0; Memo1.Lines.Text := http.Post('http://www.website.com/test.php', jsonToSend); jsonToSend.free; http.free; 

Источник PHP:

 <?php $value = json_decode($_POST); var_dump($value); ?> 

Вы не можете использовать TStringList для публикации данных JSON. TIdHTTP.Post() будет кодировать содержимое TStringList способом, который разбивает данные JSON. Вам нужно поместить данные JSON в TStream . TIdHTTP.Post() будет передавать свое содержимое как есть. Кроме того, не забудьте установить свойство TIdHTTP.Request.ContentType чтобы сервер знал, что вы отправляете данные JSON.

Вам нужно определить переменную post, попробуйте этот код (я добавил «json» var в ваш код):

Код Delphi:

 http := TIdHttp.Create(nil); http.HandleRedirects := true; http.ReadTimeout := 5000; jsonToSend := TStringList.create; jsonToSend.Text := 'json={"name":"Peter Pan"}'; Memo1.Lines.Text := http.Post('http://www.website.com/test.php', jsonToSend); jsonToSend.free; http.free; 

Источник PHP:

 <?php $value = json_decode($_POST['json']); var_dump($value); ?>