JavaScript异步Ajax与JSON技术总结

需积分: 9 0 下载量 10 浏览量 更新于2024-09-03 收藏 23KB DOCX 举报
"JavaScript异步Ajax与json的总结文档,主要介绍了如何获取数据、Ajax的基本概念、异步与同步的区别,以及如何创建XMLHttpRequest对象进行异步数据交换。" 在JavaScript编程中,异步Ajax(Asynchronous JavaScript and XML)是用于实现网页动态更新和无刷新数据交互的关键技术。虽然名称中包含XML,但现代的Ajax操作并不局限于XML格式的数据,它同样适用于JSON等其他数据格式。 一、获取数据 在示例中,我们看到两个Action方法,`getPerson` 和 `receiveData`。`getPerson` 方法返回一个JSON格式的字符串,包含了姓名、性别和地址信息。`receiveData` 方法接收这些参数并返回一个组合后的字符串。这展示了服务器端如何提供和接收数据的基本模式。 二、Ajax简介 1.1 AJAX的核心是利用JavaScript在后台与服务器进行通信,而无需刷新整个页面。通过这种方式,用户可以继续浏览页面,同时后台处理数据请求。 1.2 同步与异步: - **同步**:在同步模式下,程序会阻塞直到请求完成。这意味着如果一个请求需要时间,整个程序会暂停等待响应,导致用户体验下降。 - **异步**:异步模式下,程序不会阻塞,而是继续执行后续任务。当服务器返回数据时,JavaScript会通过回调函数或者Promise处理这些数据,提高了程序的响应速度和效率。 1.3 创建XMLHttpRequest对象是实现Ajax的基础。以下是一个简单的示例: ```javascript var xhr = new XMLHttpRequest(); xhr.open('GET', '/getPerson', true); // 第一个参数是HTTP方法,第二个是URL,第三个是异步标志 xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { var data = JSON.parse(xhr.responseText); // 解析JSON数据 console.log(data.name); // 输出"张三" } }; xhr.send(); // 发送请求 ``` 这里的`onreadystatechange`事件监听XMLHttpRequest的状态变化,当`readyState`为4(表示请求已完成)且`status`为200(表示成功)时,处理返回的数据。 三、JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在上述示例中,`getPerson` 方法返回的JSON字符串就是一个典型的例子。JavaScript原生支持JSON,可以使用`JSON.parse()`将JSON字符串转换为JavaScript对象,反之,使用`JSON.stringify()`将JavaScript对象转换为JSON字符串。 总结,JavaScript异步Ajax与JSON的结合使用,使得Web应用程序能实现更高效、更流畅的用户体验,避免了传统网页刷新带来的不便。通过XMLHttpRequest对象,我们可以轻松地发送异步请求,接收和处理服务器返回的数据,无论是JSON还是其他格式,都可以灵活应对。