JSON กับ Ajax

AJAX คือ Asynchronous JavaScript และ XML ซึ่งใช้ในฝั่งไคลเอ็นต์เป็นกลุ่มของเทคนิคการพัฒนาเว็บที่สัมพันธ์กันเพื่อสร้างเว็บแอปพลิเคชันแบบอะซิงโครนัส ตามแบบจำลอง AJAX เว็บแอปพลิเคชันสามารถส่งและดึงข้อมูลจากเซิร์ฟเวอร์แบบอะซิงโครนัสโดยไม่รบกวนการแสดงผลและลักษณะการทำงานของเพจที่มีอยู่

นักพัฒนาจำนวนมากใช้ JSON เพื่อส่งผ่านการอัปเดต AJAX ระหว่างไคลเอนต์และเซิร์ฟเวอร์ เว็บไซต์ที่อัปเดตผลการแข่งขันสดถือได้ว่าเป็นตัวอย่างของ AJAX หากต้องอัปเดตคะแนนเหล่านี้บนเว็บไซต์จะต้องจัดเก็บคะแนนเหล่านี้ไว้บนเซิร์ฟเวอร์เพื่อให้เว็บเพจสามารถเรียกดูคะแนนได้เมื่อจำเป็น นี่คือที่ที่เราสามารถใช้ประโยชน์จากข้อมูลที่จัดรูปแบบ JSON

ข้อมูลใด ๆ ที่อัพเดตโดยใช้ AJAX สามารถจัดเก็บโดยใช้รูปแบบ JSON บนเว็บเซิร์ฟเวอร์ AJAX ถูกใช้เพื่อให้ javascript สามารถดึงไฟล์ JSON เหล่านี้ได้เมื่อจำเป็นแยกวิเคราะห์และดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้ -

  • เก็บค่าที่แยกวิเคราะห์ไว้ในตัวแปรสำหรับการประมวลผลเพิ่มเติมก่อนที่จะแสดงบนเว็บเพจ

  • จะกำหนดข้อมูลให้กับองค์ประกอบ DOM ในหน้าเว็บโดยตรงเพื่อให้แสดงบนเว็บไซต์

ตัวอย่าง

โค้ดต่อไปนี้แสดง JSON พร้อม AJAX บันทึกเป็นไฟล์ajax.htmไฟล์. ที่นี่ฟังก์ชั่นการโหลด loadJSON () ใช้แบบอะซิงโครนัสเพื่ออัปโหลดข้อมูล JSON

<html>
   <head>
      <meta content = "text/html; charset = ISO-8859-1" http-equiv = "content-type">
		
      <script type = "application/javascript">
         function loadJSON() {
            var data_file = "http://www.tutorialspoint.com/json/data.json";
            var http_request = new XMLHttpRequest();
            try{
               // Opera 8.0+, Firefox, Chrome, Safari
               http_request = new XMLHttpRequest();
            }catch (e) {
               // Internet Explorer Browsers
               try{
                  http_request = new ActiveXObject("Msxml2.XMLHTTP");
					
               }catch (e) {
				
                  try{
                     http_request = new ActiveXObject("Microsoft.XMLHTTP");
                  }catch (e) {
                     // Something went wrong
                     alert("Your browser broke!");
                     return false;
                  }
					
               }
            }
			
            http_request.onreadystatechange = function() {
			
               if (http_request.readyState == 4  ) {
                  // Javascript function JSON.parse to parse JSON data
                  var jsonObj = JSON.parse(http_request.responseText);

                  // jsonObj variable now contains the data structure and can
                  // be accessed as jsonObj.name and jsonObj.country.
                  document.getElementById("Name").innerHTML = jsonObj.name;
                  document.getElementById("Country").innerHTML = jsonObj.country;
               }
            }
			
            http_request.open("GET", data_file, true);
            http_request.send();
         }
		
      </script>
	
      <title>tutorialspoint.com JSON</title>
   </head>
	
   <body>
      <h1>Cricketer Details</h1>
		
      <table class = "src">
         <tr><th>Name</th><th>Country</th></tr>
         <tr><td><div id = "Name">Sachin</div></td>
         <td><div id = "Country">India</div></td></tr>
      </table>

      <div class = "central">
         <button type = "button" onclick = "loadJSON()">Update Details </button>
      </div>
		
   </body>
		
</html>

ด้านล่างเป็นไฟล์อินพุต data.jsonมีข้อมูลในรูปแบบ JSON ซึ่งจะถูกอัปโหลดแบบอะซิงโครนัสเมื่อเราคลิกไฟล์ Update Detailปุ่ม. ไฟล์นี้ถูกเก็บไว้ในhttp://www.tutorialspoint.com/json/

{"name": "Brett", "country": "Australia"}

โค้ด HTML ด้านบนจะสร้างหน้าจอต่อไปนี้ซึ่งคุณสามารถตรวจสอบการทำงานของ AJAX ได้ -

รายละเอียดคริกเก็ต

ชื่อ ประเทศ
ซาชิน
อินเดีย

เมื่อคุณคลิกที่ไฟล์ Update Detailคุณควรได้รับผลลัพธ์ดังนี้ คุณสามารถลองใช้JSON กับ AJAX ได้ด้วยตัวเองหากเบราว์เซอร์ของคุณรองรับ Javascript

รายละเอียดคริกเก็ต

ชื่อ ประเทศ
Brett
ออสเตรเลีย