ฉันต้องการส่ง JSON (ซึ่งฉันสามารถสตริงได้) ไปยังเซิร์ฟเวอร์และเพื่อดึง JSON ที่เป็นผลลัพธ์ทางฝั่งผู้ใช้โดยไม่ต้องใช้ JQuery
ถ้าฉันควรใช้ GET ฉันจะส่ง JSON เป็นพารามิเตอร์ได้อย่างไร มีความเสี่ยงที่จะนานเกินไปหรือไม่?
ถ้าฉันควรใช้ POST ฉันจะตั้งค่าonload
ฟังก์ชันที่เทียบเท่าใน GET ได้อย่างไร
หรือควรใช้วิธีอื่นดี?
สังเกต
คำถามนี้ไม่เกี่ยวกับการส่ง AJAX ธรรมดา ไม่ควรปิดว่าซ้ำกัน
sending
คำขอ ajax ซึ่งเป็นสิ่งที่ค่อนข้างทั่วไป อันนี้ขอsending
แต่และreceiving JSON
ใน JavaScript ล้วนๆ นอกจากนี้ในการส่ง JSON นี้กลับคุณต้องรู้วิธีแก้ปัญหาในส่วนนี้server-side
ซึ่งเป็นอีกสิ่งหนึ่งที่ไม่ได้กล่าวถึงในคำถามอ้างอิง
onreadystatechange
คือสิ่งที่คุณใช้เพื่อเลียนแบบonload
ดังที่แสดงโดยคำตอบที่ยอมรับด้านล่าง สำหรับการแยกวิเคราะห์คุณเพียงแค่ใช้JSON.parse()
(อีกครั้งตามที่แสดงในคำตอบ) แต่ฉันสมมติว่าคุณรู้แล้วตั้งแต่ที่คุณพูดถึงสตริงในคำถาม ฉันพยายามช่วยคุณแล้วโดยชี้ให้คุณไม่ใช่ 1 แต่ 2 คำถามที่ครอบคลุมประเด็นเหล่านี้ มีความแตกต่างอย่างเห็นได้ชัดบาง - ไม่ค่อยมี 2 คำถามว่าเหมือนกัน - แต่มันน่ารำคาญถ้าคุณรู้อยู่แล้วว่าวิธีการ stringify และ JSON แยก ที่กล่าวว่าเนื่องจากคุณและ @ hex494D49 ไม่เห็นด้วยฉันจึงเสนอสิ่งนี้เพื่อเปิดใหม่
XMLHttpRequest
คุณจำเป็นต้องใช้ อย่างไรก็ตามชื่อนี้คุณสามารถใช้เป็นข้อมูล JSON ได้ (และนั่นคือวิธีที่ jQuery ทำในพื้นหลัง)