Установка правильного типа контента для cURL для получения ответа

Я пытаюсь создать относительно простую конечную точку PHP, чтобы пользователи могли отправлять запросы. Я знаю, что конечная точка работает, потому что, когда я получил к ней доступ, используя cURL, параметры, которые я отправил в свою базу данных, были добавлены. Проблема, однако, в том, что когда я использую

 var_dump($response);

Страница возвращает «NULL».

Так что код работает нормально, я просто хочу знать, как напечатать сообщение об ошибке / успех

Это то, что я пробовал до сих пор на конечной точке

header("HTTP/1.1 200 OK");
header('Content-Type: text/plain');
echo 'Success message';

полный код CURL:

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $url,
CURLOPT_POSTFIELDS => 'example=this'
);
$resp = curl_exec($curl);
// Close request to clear up some resources
curl_close($curl);
$response = json_decode($resp, true);
var_dump($response);

Итак, как я могу получить сообщение об успешном отображении вместо «NULL»?

-1

Решение

Проверьте, возвращает ли ваш код curl что-нибудь, протестировав: var_dump($resp), Это выглядит как NULL происходит от json_decode, Вы не возвращаете действительный JSON из конечной точки.

php > var_dump(json_decode("Success message", true));
NULL

Попробуйте вернуть строку json, такую ​​как:

php > echo json_encode("Success", true);
"Success"

Обратите внимание " вокруг него. Это кодирует строку JSON. Увидеть JSON spec для справки о том, как кодировать JSON. Лучшая практика, если вы вернетесь в json, а затем пропустите ваш контент через json_encode(),

Ваш код curl кажется правильным.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]