AJAX — это асинхронный JavaScript и XML, который используется на стороне клиента как группа взаимосвязанных методов веб-разработки для создания асинхронных веб-приложений. Согласно модели AJAX, веб-приложения могут отправлять и извлекать данные с сервера асинхронно, не влияя на отображение и поведение существующей страницы.
Многие разработчики используют JSON для передачи обновлений AJAX между клиентом и сервером. В качестве примера AJAX можно рассматривать сайты, обновляющие результаты спортивных матчей. Если эти оценки должны быть обновлены на веб-сайте, они должны храниться на сервере, чтобы веб-страница могла получать оценки, когда это необходимо. Здесь мы можем использовать данные в формате JSON.
Любые данные, которые обновляются с использованием AJAX, могут храниться в формате JSON на веб-сервере. AJAX используется для того, чтобы javascript мог при необходимости извлекать эти файлы JSON, анализировать их и выполнять одну из следующих операций:
-
Сохраните проанализированные значения в переменных для дальнейшей обработки, прежде чем отображать их на веб-странице.
-
Он напрямую назначает данные элементам DOM на веб-странице, чтобы они отображались на веб-сайте.
Сохраните проанализированные значения в переменных для дальнейшей обработки, прежде чем отображать их на веб-странице.
Он напрямую назначает данные элементам 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, которые будут загружаться асинхронно при нажатии кнопки « Обновить данные» . Этот файл хранится в http://www.tutorialspoint.com/json/
{"name": "Brett", "country": "Australia"}
Приведенный выше HTML-код создаст следующий экран, где вы можете проверить AJAX в действии:
Крикет Детали
название | Страна |
---|---|
Сэчин
|
Индия
|
Когда вы нажимаете кнопку « Обновить детали» , вы должны получить результат примерно следующим образом. Вы можете попробовать JSON с AJAX самостоятельно, если ваш браузер поддерживает Javascript.