برای دریافت دادهها از کاربر به صورت JSON و نمایش دوباره آنها به صورت JSON در PHP، معمولاً از متدهای POST
یا GET
استفاده میکنیم. در اینجا یک نمونه کد ساده برای دریافت دادهها از کاربر به صورت JSON و سپس نمایش آنها به صورت JSON آوردهام:
مراحل:
- دریافت دادهها به صورت JSON از درخواست
POST
. - پردازش دادهها (در اینجا فقط بازتاب آنها به صورت JSON).
- ارسال پاسخ به صورت JSON.
نمونه کد PHP:
<?php
// تنظیم هدر برای اعلام نوع داده JSON
header('Content-Type: application/json');
// بررسی اینکه درخواست از نوع POST است
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// دریافت دادههای خام JSON از بدن درخواست
$json_input = file_get_contents('php://input');
// تبدیل دادههای JSON به آرایه یا شیء PHP
$data = json_decode($json_input, true);
// بررسی اینکه آیا دادههای JSON معتبر هستند
if ($data === null) {
// اگر JSON نامعتبر بود، ارور برمیگردانیم
echo json_encode(["error" => "Invalid JSON data"]);
} else {
// در اینجا میتوانید دادهها را پردازش کنید (در این مثال، فقط آنها را برمیگردانیم)
// ارسال دادهها به صورت JSON به کاربر
echo json_encode([
"status" => "success",
"received_data" => $data
]);
}
} else {
// اگر درخواست از نوع POST نباشد، ارور میدهیم
echo json_encode(["error" => "Only POST requests are allowed"]);
}
?>
توضیحات کد:
- خط اول: هدر
Content-Type
را برای اعلام نوع پاسخ به JSON تنظیم میکنیم. - خط پنجم: بررسی میکنیم که آیا درخواست از نوع
POST
است. - خط هشتم: دادههای JSON را از بدنه درخواست دریافت میکنیم.
- خط یازدهم: دادههای JSON را با استفاده از
json_decode
به آرایه PHP تبدیل میکنیم. - خط سیزدهم: اگر JSON نامعتبر باشد، پیام خطا ارسال میکنیم.
- خط بیست و یکم: دادههای دریافت شده را به صورت JSON مجدد به کاربر ارسال میکنیم.
ارسال درخواست از طریق POST
به این API:
برای ارسال درخواست از نوع POST
با JSON، میتوانید از ابزارهایی مانند Postman
یا کد زیر در جاوااسکریپت استفاده کنید:
fetch('URL_OF_YOUR_PHP_FILE.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'John Doe',
age: 30
})
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
مثال خروجی:
اگر دادههای JSON به صورت زیر ارسال شوند:
{
"name": "John Doe",
"age": 30
}
پاسخ دریافتی به صورت زیر خواهد بود:
{
"status": "success",
"received_data": {
"name": "John Doe",
"age": 30
}
}
این کد میتواند به شما کمک کند تا دادهها را از کاربر دریافت کرده و به صورت JSON پاسخ دهید. اگر سوال یا مشکل خاصی دارید، خوشحال میشوم که بیشتر کمک کنم!
ثبت نظرات