0 က်ဘ်အပလီကေးရှင်းများဖွင့်လှစ်သည့်အခါ JSON format ကိုဖောက်သည်များနှင့်ဆာဗာများအကြားဒေတာဖလှယ်မှုများတွင်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသည်။ JSON တုံ့ပြန်မှုများကိုမှန်ကန်စွာကိုင်တွယ်ရန် PHP သည်တုန့်ပြန်မှုခေါင်းစဉ်သတင်းအချက်အလက်များကိုသတ်မှတ်ရန် header () function ကိုထောက်ပံ့ပေးသည်။ JSON တုံ့ပြန်မှုခေါင်းစဉ်ကိုမှန်ကန်စွာသတ်မှတ်ရန် header () function ကိုမည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးကရှင်းပြပါမည်။
PHP's header () function ကို အသုံးပြု. HTTP တုန့်ပြန်မှုခေါင်းစဉ်သတင်းအချက်အလက်များကို client သို့ပို့ရန်အသုံးပြုသည်။ မှန်ကန်သောတုံ့ပြန်မှုခေါင်းစဉ်ကိုသတ်မှတ်ခြင်းအားဖြင့်ဆာဗာသည် browser သို့မဟုတ် client ကိုသူတို့တုန့်ပြန်မှုအကြောင်းအရာများကိုမှန်ကန်စွာကိုင်တွယ်ရန်တောင်းဆိုထားသောအရင်းအမြစ်အမျိုးအစားကိုတောင်းဆိုထားသည်။ အထူးသဖြင့် JSON ဒေတာကိုပြန်ပို့သောအခါ အကြောင်းအရာအမျိုးအစားကို application / JSONSO သို့သတ်မှတ်ရန်အလွန်အရေးကြီးသည်။
ပုံမှန်အားဖြင့် PHP သည်တုန့်ပြန် အကြောင်းအရာအမျိုးအစားကို မသတ်မှတ်ပါ။ JSON ဒေတာကိုပြန်ပို့မယ်ဆိုရင် browser (သို့) client ကအဲဒါကိုမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာနိုင်မှာမဟုတ်ဘူး။ ထို့ကြောင့်ကျွန်ုပ်တို့သည် 0 န်ဆောင်မှုခံယူသူအား JSON ဒေတာများကိုပြန်ပို့နေကြောင်းအတိအလင်းပြောရန်လိုအပ်သည်။ application / JSONS သို့ အကြောင်းအရာအမျိုးအစားကို သတ်မှတ်ခြင်းဖြင့် 0 န်ဆောင်မှုခံယူသူသည်တုန့်ပြန်မှုကိုမှန်ကန်စွာကိုင်တွယ်နိုင်ပြီး၎င်းကို JSON format အနေဖြင့်ကုသနိုင်သည်။
JSON အချက်အလက်များကိုမှန်ကန်စွာပြန်ပို့ရန်အတွက်ကျွန်ုပ်တို့သည်အောက်ပါအဆင့်များကိုလုပ်ဆောင်ရန်လိုအပ်သည် -
မှန်ကန်သောအကြောင်းအရာ - အမျိုးအစားတုန့်ပြန်ခေါင်းစီးကိုပေးပို့ပါ
အခြားရလဒ်များမရှိကြောင်းသေချာပါစေ
output json ဒေတာ
အောက်ဖော်ပြပါအချက်များသည် JSO Reface header header ကို PHP တွင်မည်သို့မှန်ကန်စွာသတ်မှတ်ရန်နှင့် JSON အချက်အလက်များကိုပြန်ပို့ရမည်ကိုပြသသည့်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
<?php
// တည်ဆောက်သည် Content-Type အတွက် application/json
header('Content-Type: application/json');
// အချို့ဒေတာကို Simulate
$data = array(
'status' => 'success',
'message' => 'ဒေတာကိုအောင်မြင်စွာလုပ်ဆောင်ခဲ့သည်',
'url' => 'https://m66.net/success'
);
// 将数据转换အတွက် JSON ပမာဏ
echo json_encode($data);
?>
header ('Content-type: application / JSONS);
ဤကုဒ်နံပါတ်သည်အရေးအကြီးဆုံးဖြစ်သည်, တုန့်ပြန်မှု၏ပါဝင်မှုအမျိုးအစားသည် JSOSH ဖြစ်သည်ဟုဆိုသော browser သို့မဟုတ် client ကိုဖော်ပြထားသည်။ ၎င်းသည်ဖောက်သည်အားပြန်ပို့သောအချက်အလက်များကိုမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာရန်ခွင့်ပြုသည်။
$ ဒေတာ = array (... )
ဤနေရာတွင်ကျွန်ုပ်တို့ပြန်လာလိုသောအချက်အလက်များအနေဖြင့်ရိုးရိုးခင်းကျင်းမှုတစ်ခုတည်ဆောက်သည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဒေတာတစ်ခုမှဒေတာများကိုရှာဖွေခြင်းသို့မဟုတ်ပြင်ပ API မှအချက်အလက်များကိုရှာဖွေခြင်းသို့မဟုတ် JSON အဖြစ် format လုပ်ပါ။
JSORS_CENDODED ($ ဒေတာ);
ဤလုပ်ဆောင်ချက်သည် PHP Array သို့မဟုတ်အရာဝတ်ထုများကို JSON format ဖြင့်ပြောင်းလဲနိုင်သည်။ json_encode () သည် ကိုးကားချက်များသို့မဟုတ် backslash ကဲ့သို့သောအထူးအက္ခရာများကိုအလိုအလျောက်ပြုလုပ်နိုင်သည်ကိုသတိပြုပါ။
Header ကိုမပို့ခင်ဘာမှမဆိုပါနှင့် header () function ကိုမခေါ်မီ PHP သည် (ဥပမာ, နေရာများ, HTML tags များသို့မဟုတ်အမှားအယွင်းများ) မရှိပါ။ Header ကို ခေါ်ဆိုခြင်းမပြုမီ output တစ်ခုရှိပါက PHP သည်အမှားတစ်ခုသို့တင်ပြလိမ့်မည်။ header အချက်အလက်များကိုပြုပြင်မွမ်းမံခြင်း - ခေါင်းစီးများပေးပို့ပြီးဖြစ်သည် ။
တုန့်ပြန်မှုခေါင်းစီးများသည်မှန်ကန်သောအမှာစာတွင်သေချာအောင်လုပ်ပါ အဆိုပါတုန့်ပြန်ခေါင်းစီးကိုအခြား output မတိုင်မီပေးပို့သင့်ပါတယ်။ JSON တုံ့ပြန်မှုခေါင်းစဉ်ကိုပို့ပြီးနောက် HTML output သို့မဟုတ်အခြားပါဝင်မှု output ကိုလုပ်ဆောင်ပါက Browser သည် JSON ဒေတာကိုမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာနိုင်တော့မည်မဟုတ်ပါ။
JSON အချက်အလက်များ၏ဇာတ်ကောင် encoding ပြ problem နာ If you need to return JSON data containing non-ASCII characters, make sure to use the JSON_UNESCAPED_UNICODE flag in json_encode() , so that Chinese characters can be avoided being escaped into Unicode encoding.
echo json_encode($data, JSON_UNESCAPED_UNICODE);
ဤတွင်အကောင်းဆုံးသောအလေ့အကျင့်များအားလုံးကိုပြည့်စုံသောဥပမာတစ်ခုဖြစ်သည်။
<?php
// မည်သည့် output ကိုတားဆီး
ob_start();
// တည်ဆောက်သည်响应头အတွက် JSON ပမာဏ
header('Content-Type: application/json');
// တည်ဆောက်သည်其他头部信息(Cross-Domain တောင်းဆိုမှုများကိုခွင့်ပြုပါက)
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
// ဒေတာဘေ့စ်သို့မဟုတ်အခြားနေရာများမှရရှိသောဒေတာကိုတုပ
$data = array(
'status' => 'error',
'message' => 'အမှားတစ်ခုဖြစ်ပွားခဲ့သည်,ကျေးဇူးပြု. နောက်မှထပ်ကြိုးစားပါ',
'url' => 'https://m66.net/error'
);
// 将数据转换အတွက် JSON ပမာဏ并输出
echo json_encode($data, JSON_UNESCAPED_UNICODE);
// ဇာတ်ညွှန်းကိုအဆုံးသတ်ပါ,အခြားရလဒ်များမရှိကြောင်းသေချာပါစေ
ob_end_flush();
?>
PHP တွင် JSON တုံ့ပြန်မှုခေါင်းစီးများကို header () function ကို သုံး. set up လုပ်ရန်အလွန်လွယ်ကူသည်။ Content-type: application / JSONS , client ကိုမှန်မှန်ကန်ကန်ဖြစ်စဉ်များကိုမှန်ကန်စွာလုပ်ဆောင်နိုင်အောင်သေချာအောင်ပြုလုပ်နိုင်သည်။ တုန့်ပြန်မှုခေါင်းစဉ်ကိုမသတ်မှတ်ခင်, အမှားအယွင်းများကိုရှောင်ရှားနိုင်အောင်အခြား output မရှိဘူးဆိုတာသတိရပါ။
PHP ကို အသုံးပြု. JSON တုံ့ပြန်မှုများကိုမည်သို့ကိုင်တွယ်ရမည်ကိုပိုမိုနားလည်သဘောပေါက်ရန်ဤဆောင်းပါးကသင့်အားပိုမိုနားလည်ရန်မျှော်လင့်ပါသည်။ သင့်တွင်မေးခွန်းများရှိပါကအခမဲ့မေးမြန်းပါ။