ฉันพยายามหลีกเลี่ยงการใช้คุณสมบัติของโปรโตคอล HTTP เกือบทุกครั้งเพื่อที่จะกลัวความไม่รู้จัก
อย่างไรก็ตามฉันพูดกับตัวเองว่าฉันจะต้องเผชิญหน้ากับความกลัวในวันนี้และเริ่มใช้ส่วนหัวอย่างเด็ดเดี่ยว ฉันพยายามส่งjson
ข้อมูลไปยังเบราว์เซอร์และใช้งานได้ทันที ตัวอย่างเช่นถ้าฉันมีฟังก์ชั่น Ajax handler ในสถานะ Ready 4 ซึ่งมีลักษณะดังนี้:
function ajaxHandler(response){
alert(response.text);
}
และฉันได้ตั้งหัวข้อประเภทเนื้อหาในรหัส PHP ของฉัน:
header('Content-Type: application/json');
echo json_encode(array('text' => 'omrele'));
ทำไมฉันไม่สามารถเข้าถึงได้โดยตรงจากสถานที่ให้ฟังก์ชั่นการจัดการเมื่อเบราว์เซอร์จะบอกอย่างชัดเจนว่าข้อมูลที่เข้ามาเป็นapplication/json
?
JSON.parse()
จะนำเสนอเพื่อให้คุณสามารถถอดรหัสได้ด้วย คุณสามารถดำเนินการต่าง ๆ หรือบังคับให้เกิดข้อผิดพลาดหาก contentType ผิดพลาดปรากฏขึ้น
response.text
ยังคงเป็นสตริง
text
เป็นตัวแปรจาวาสคริปต์ในตัวจัดการและไม่ตอบสนอง? นั่นจะเป็นฟังก์ชั่นที่แปลกมาก json_encode สร้างวัตถุ 1 รายการจากอาร์เรย์ PHP ของคุณ ดังนั้นเมื่อคุณได้รับสิ่งนี้ลงในจาวาสคริปต์จะต้องมีการกำหนดให้กับตัวแปร