Я пытаюсь создать относительно простую конечную точку 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»?
Проверьте, возвращает ли ваш код 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 кажется правильным.
Других решений пока нет …