[PHP] json_encode แล้ว Javascript จะเข้าถึงตัวแปรได้ยังไง


อันนี้เป็นการแก้ปัญหาเล็ก ๆ น้อย ๆ ครับ เคนไปเจอมา แล้วก็งม ๆ อยู่พักนึงว่าทำไมมันเข้าถึงตัวแปรไม่ได้นะ?

ลำดับเหตุการณ์คือ

ส่ง Ajax ไป ทำบางอย่างแล้ว Return ตัวแปรแบบ json กลับมาด้วยการใช้คำสั่ง json_encode

[PHP]

$data = array( 'id' => 1, 'name' => 'kanexkane' );

//return data with json format
echo json_encode( $data );

จากนั้น Return กลับมาใส่ตัวแปร data แล้วไม่สามารถ access ด้วย data.id หรือ data.name ได้

วิธีแก้ปัญหา

โคตรง่ายครับ ก่อนจะสั่ง data.id เพื่อเข้าถึงค่าของตัวแปร ให้ทำการ JSON.parse() มันก่อน ก็จะออกมาเป็นแบบนี้

[Javascript]

data = JSON.parse(data);

// ลอง consold.log ดู
console.log(data.id);

เท่านี้จากนั้นก็จะเรียกค่าจากในตัวแปรที่ส่งกลับมาได้ละ

1 1 vote
Article Rating
เราใช้คุกกี้เพื่อให้ทุกคนได้รับประสบการณ์การใช้งานที่ดียิ่งขึ้น
0
Would love your thoughts, please comment.x
()
x