Ajax技术的秘密揭秘:异步传输,高效交互

简介: Ajax技术的秘密揭秘:异步传输,高效交互

I. 什么是Ajax

Ajax的定义和起源

Ajax(Asynchronous JavaScript and XML)是一种用于创建交互式Web应用程序的技术,能够实现无需刷新页面的实时数据传输

Ajax的出现可以追溯到21世纪初,当时Web应用程序的交互性和动态性十分有限。通过使用Ajax,Web应用程序能够以更加智能和流畅的方式响应用户的操作。

最初,Ajax主要用于针对XMLHttpRequest对象的应用程序。在使用XHR对象之前,客户端必须向服务器发送一个HTTP请求,然后等待服务器的响应。这种方式导致Web应用程序要么需要刷新整个页面,要么需要等待长时间才能获得新数据,这极大地限制了Web应用程序的交互性和实时性。

通过使用XHR对象,Ajax可以从服务器异步获取数据,无需刷新页面。这种技术极大地提升了Web应用程序的交互速度和用户体验。随着新技术的不断涌现,Ajax的应用范围也不断扩大,如今几乎所有现代的Web应用程序都包括Ajax技术。

Ajax与传统的Web应用程序之间的区别

在传统的Web应用程序中,用户的交互通过HTTP请求和页面刷新进行的。例如,在一个搜索引擎页面中,当用户通过表单输入搜索关键词并点击“搜索”按钮时,页面会发送一个HTTP请求,服务器处理请求后返回新的页面,然后浏览器刷新页面,展示新的搜索结果。

然而,这种传统的页面加载方式有两个主要的缺点:

  1. 用户体验较差: 页面刷新间隔长,需要等待大量时间加载内容。
  2. 对带宽和服务器压力的增加:如果界面需要加载大量的内容,刷新间隔增加的话,就需要给服务器传输更多的数据,浪费更多的带宽,同时给服务器带来更大的负载。

与传统方式不同,Ajax技术使得用户可以以流畅、实时的方式进行数据传输,因而降低了用户与服务器之间的时间和交互成本。它通过异步读取技术将用户的输入发送服务器,让服务器处理请求并返回仅包含更新的部分的数据或信息,以匹配用户请求。由于 ajax 不强制刷新页面,整个 Web 应用程序的响应速度也得到了提高,提高了用户体验。

综上所述,与传统的Web应用程序相比,Ajax技术具有更好的数据交互体验,更快的响应速度和更少的带宽和服务器压力。

II. Ajax的工作原理

Ajax的基本原理

Ajax 的基本原理如下:

  1. 向服务器发送异步请求:首先,Web 应用程序通过 JavaScript 异步创建 XMLHttpRequest 对象,并向服务器发送异步请求。通过异步发送请求,可以优化应用程序的响应时间和用户体验。
  2. 接收服务器返回数据:服务器收到请求后,将处理请求并返回数据,这些数据可以是 HTML,XML,JSON 或文本等形式。服务器返回的这些数据将被 XMLHttpRequest 对象自动接收。
  3. 更新网页内容:接收数据后,JavaScript 能够通过调用 DOM API 来更新网页内容。相应的网页的内容可以是XHTML 或者HTML。
  4. 实时响应用户操作:通过这种方式,Ajax 可以实现后台数据传递,并在不刷新整个页面的情况下动态更新页面内容,响应用户操作。

实际上,Ajax的核心就是异步传输数据,使得页面在不刷新整个页面的情况下实现和更新内容的交互性操作,以最小的带宽成本,获得最优的页面响应时间。这种方式改善了Web浏览器界面的用户交互性并且优化了 Web 应用程序的性能。

Ajax如何通过异步传输实现无需刷新页面

Ajax 通过异步传输实现无需刷新页面,其主要原理是:

  1. 用户发起Ajax请求:应用程序中的JavaScript代码可以通过创建 XMLHttpRequest 对象来向服务器发送异步请求,告诉服务器需要什么业务信息或数据
  2. 异步请求是基于XMLHttpRequest:为了防止对页面的干扰,Ajax 异步请求并不会中断页面的进行。XMLHttpRequest对象发送一个异步请求,但不会阻碍其它页面的运行。
  3. 服务器处理请求:当服务器接收到来自 XMLHttpRequest 对象的请求时,它会根据请求参数进行逻辑处理,并将处理结果作为一个 XMLJSONHTML 数据返回给XMLHttpRequest对象。
  4. 浏览器异步处理响应:当 XMLHttpRequest 对象接收到服务器端返回的数据时,JavaScript 代码会异步处理响应。JavaScript 代码可以解析服务器返回的信息,并按照需要重排访问页面,被弗式页面的元素改变。

这种异步方式和结果,是不会影响页面的其它部分的,使得用户得以更加地优雅、自然地体验和使用 Web 应用程序。而且,也避免了传统方式中出现页面的整体刷新,可以很好地优化 Web 应用程序的性能。

III. Ajax的应用场景

在Web应用程序中应用Ajax的优势

在Web应用程序中应用 Ajax 技术具有很多优势:

  1. 改善了用户交互体验:传统的Web应用程序的交互体验不好,需要不断地刷新页面。与之相反,Ajax技术能够做到在页面无需刷新的前提下,实现和更新内容的交互性操作,让用户得到更加流畅和自然的交互方式。
  2. 减少带宽使用和服务器负载:因为只有需要请求的部分才会被更新,所以相比传统的Web应用程序,Ajax 会降低服务器带宽和负载压力。
  3. 增强了网页的速度和性能:通过 Ajax 技术,浏览器可以在不离开页面的前提下在后台获取最新数据,这使得整个页面不会再次加载和刷新, 避免了让用户感到需要等待不必要的时间。(对于某些于用户体验反应时间有着极为高要求的场景比较重要。)
  4. 提高了Web应用程序的可扩展性和可维护性:通过 Ajax 技术,可以将应用程序分解为较小的、更容易维护和管理的部件,并且各部分之间能够独立、松散地通信。
  5. 兼容性良好Ajax 是跨平台和跨浏览器的技术,可以兼容多种操作系统和浏览器,同时,Ajax 可以与其它技术结合使用,使得整合更加灵活。

Ajax在哪些场景中使用

Ajax 这种异步数据传输方式可以用于各种场景,特别是对于需要频繁数据交互的应用程序。常见的场景有:

  1. 动态加载内容:使用 Ajax 可以从服务器获取新的数据,从而动态地更新应用程序的内容,而无需刷新整个页面。例如,在社交媒体网站上,当用户在页面中浏览内容时,应用程序可以使用 Ajax 同步获取新的通知,消息等。
  2. 表单验证:当用户提交表单时,可以使用 Ajax 在不刷新整个页面的情况下验证表单数据。这样,用户可以更快速地进行错误修正,并减少无效数据提交,加快数据录入速度。
  3. 自动完成: 当用户在登录框中键入内容时,Web 应用程序通常会提供感兴趣的项目列表,以便他们进行选择,这可以靠 Ajax 与后台通信,以获取相关数据,从而在实时上完成,并提升用户的交互性。
  4. 即时通讯Ajax 可以用于实现即时通讯功能,例如聊天室。通过使用 Ajax 异步传输技术可在用户发送消息的时进行数据推流传输,在不影响整体页面其他部分的前提下快速地显示内容。

综上所述,Ajax 可以用于各种需要及时更新的应用程序中,可以大大提高 Web 应用程序的速度和性能,增强用户体验。

IV. Ajax的组成部分和API

XHR对象

XHR(XMLHttpRequest)对象是 Ajax 技术的核心,其作用是在后台与服务器进行数据交互

XHR 对象是 JS (JavaScript) 的内置对象,它本质上是一个 JavaScript 对象,被设计用来支持 Ajax 异步数据传输技术的。

XHR 对象有以下几个核心属性:

  1. onreadystatechange 属性:用来指定一个回调函数,该函数在 XMLHttpRequest 对象的状态改变时被调用。
  2. readyState属性:表示 XMLHttpRequest 对象当前所处的状态。一共有5种状态值:
  • 0: 未初始化,XMLHttpRequest 对象已经创建,但尚未调用 open 方法;
  • 1: 打开,XMLHttpRequest 对象已经创建并调用了 open 方法,但尚未发送请求;
  • 2: 发送数据,已经调用了 send 方法,但尚未收到响应;
  • 3: 接收数据,正在接收服务器传回的数据,此时 responseText 属性已经包含了部分数据,但数据并不完整;
  • 4: 数据接收完毕,XMLHttpRequest 对象已经成功的接收到服务器传回的数据了。通常会在这个状态下更新页面。
  1. status 属性:表示请求的状态,如 200 表示成功的请求,404 表示请求资源不存在等。
  2. responseText 属性:服务器返回的响应数据。当XMLHttpRequest对象状态为4的时候,可以通过responseText属性来获取服务器响应的数据。

XHR 对象的主要方法有以下几种:

  1. open() 方法:打开一个请求,可以接收 3 个参数,分别为 请求方法、URL 和 是否使用异步传输。例如:xhr.open(“GET”, “http://xxx.com/ajax”, true);
  2. send() 方法:发送请求,如果是POST请求,可以通过send()方法将表单数据发送到服务器。例如:xhr.send(null);
  3. abort() 方法:取消当前请求,当异步请求过程中,需要终止请求时,可以使用该方法;
  4. setRequestHeader() 方法:设置请求头,用于说明查询字符串的方法,如下所示:
    xhr.setRequestHeader(“Content-Type”, “application/x-www-form-urlencoded”);

由于XHR对象是 JavaScript 的内置对象,所以可以直接在JavaScript代码中创建。例如:

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    console.log(xhr.responseText);
  }
};
xhr.open("GET", "http://xxx.com/ajax", true);
xhr.send();

FormData对象

在 Ajax 进行异步文件上传时,通常使用 FormData 对象来构建表单数据FormData 对象是一种珍贵的表单数据类型,能够更加方便地将表单数据序列化为 key-value 对的形式,以满足 Ajax 发送数据的需要。它提供了一种简单、便利的方式来构造 Web 表单中的表单数据,通过 FormData 对象,可以让表单提交更加简单,且支持异步传输。

可以通过FormData对象的 append() 方法来向对象中添加 key-value 数据,例如:

var formData = new FormData();
formData.append('name', 'Tom');
formData.append('age', 18);

FormData 对象可以保存多种不同类型的表单数据,例如纯文本、二进制数据和文件数据等,可以在同一表单中提交多个文件,同时还具备以下特性:

  1. 支持文件和文本数据的混合提交,可以通过 append() 方法来实现这一点;
  2. 自动处理表单中的文件数据,根据文件的大小和 MIME 类型,自动将其编码为 multipart/form-data 格式;
  3. 支持 Ajax 进行异步数据提交;

需要注意的是,FormData对象在使用过程中存在一些兼容性问题,并且在 Safari 浏览器中存在单体奇怪的 bug。同时,在提交数据的时候,需要使用新式的异步 ajax 调用,以便将文件数据异步上传。

Fetch API

Fetch API 是一个原生的 JavaScript API,用于在 Web 应用程序中异步请求网络资源,Fetch API 基于 Promise,可以非常方便地使用以及进行错误处理。

Fetch API 使用 JavaScript 的 Promise 对象,提供了一种更加灵活和强大的方式来发起网络请求。使用Fetch API 可以轻松处理 CORS 跨域请求、按照流的结构读取请求、自定义请求头等需求。在异步请求数据时,通过 fetch() 方法创建一个请求,然后使用 then() 方法来处理请求的响应结果,可以指定一个回调函数,来实现在响应结果返回后执行的操作。

Fetch API 的方法有以下几个:

  1. fetch():用于向服务器发送请求,并返回一个 Promise 对象。通过 fetch 请求返回的 Promise 对象,可以使用 then() 方法来处理响应结果,以及使用 catch() 方法来捕获错误。
  2. Response :实例代表 fetch 请求所获取到的响应结果。该实例提供了很多很好用的方法,例如 headers 对象、状态码、响应体等属性,可以通过这些属性来获取有用的响应信息。
  3. Request : Request 对象是配置 fetch 请求的对象,包含了请求的 URL、请求的 headers 、请求方式和请求参数等信息。

Fetch API的主要优势在于它用于数据交互时,提供了一组全新的 JavaScript API,可以轻松访问服务器上的数据,而又非常灵活和可扩展。另外,还具有跨域、安全性和高效性等众多优点,已经成为了现代 Web 开发的重要技术。

jQuery的AJAX支持

jQuery 提供了强大的 AJAX(Asynchronous JavaScript and XML)支持,其中包括一些 jQuery AJAX 方法和属性。使用 jQuery 的 AJAX 方法可以轻松发送异步请求,访问服务器数据,并在页面上显示服务器返回的结果。

以下是一些 jQuery AJAX 方法和属性:

  1. jQuery.ajax() 方法:用于发送异步 HTTP 请求,该方法通常用于发起 GET 或 POST 请求。它接受一组可选的参数,包括 URL、请求类型、请求数据、响应类型等,并返回一个 Promise。
  2. jQuery.get() 方法:用于通过 HTTP GET 请求从服务器加载数据。它接受一个 URL 的字符串,并返回从服务器返回的数据。可以通过传递一个对象来传递额外的参数,例如 dataType、data、success 回调等参数。
  3. jQuery.post() 方法:用于通过 HTTP POST 请求向服务器提交数据。它接受一个 URL 和一个可选的数据对象,并返回从服务器返回的数据。可以通过传递一个对象来传递额外的参数,例如 dataType、data、success 回调等参数。
  4. jQuery.getJSON() 方法:用于通过 HTTP GET 请求从服务器获取 JSON 数据。它接受一个 URL 的字符串,并返回从服务器返回的 JSON 数据。
  5. $.ajaxSetup() 方法:用于全局设置 AJAX 请求的默认选项。这些选项将在每个 AJAX 请求中使用。
  6. .success() 和 .error() 方法:jQuery 1.8 版本之后的新版本中,success() 和 error() 方法被废弃,可以使用 .done() 和 .fail() 方法来替代。.done() 方法会在 AJAX 请求成功时被调用,.fail() 方法会在 AJAX 请求失败时被调用。

综上所述,jQuery 提供了一组强大的 AJAX 方法,可以轻松地向服务器发送请求并获取响应结果,方便灵活。这些方法是现在网页设计必不可少的一部分。

V. Ajax的优缺点

Ajax的优点

Ajax(异步 JavaScript 和 XML)是一种用于在 Web 应用程序中实现异步数据传输的技术。

它具有以下优点:

  1. 异步加载:Ajax 技术使用异步加载数据,可以在不刷新整个页面的情况下获取更新的数据。这提高了网站的响应速度和用户体验。
  2. 减少数据传输量:Ajax 可以实现局部刷新,不需要更新整个页面。通过发送异步请求,可以只获取需要更新的部分数据,减少了数据传输量,提高了页面加载速度。
  3. 支持多种数据格式:Ajax 可以使用不同的数据格式传输数据,包括 HTML、XML、JSON 和文本等。这种灵活性使得 Ajax 可以减少数据传输量,并使其更容易解析。
  4. 支持跨域请求:通常,浏览器安全策略限制了从域之间发送请求,在同源策略下无法访问到不同源服务器的数据。而 Ajax 可以通过 JSONP 等技术来支持跨域请求,让 Web 应用程序更加灵活。
  5. 可以实现实时交互:由于 Ajax 的异步请求能够实时访问服务器,并获取到服务器新的数据,因此能够实现实时交互,比如聊天室。

综上所述,Ajax 技术在提高 Web 应用程序的性能、用户体验和交互性等方面,具有得天独厚的优点。

Ajax的缺点

虽然 Ajax 有很多优点,但也有一些缺点,包括:

  1. 对搜索引擎不友好:由于 Ajax 实现的页面更新是异步的,原始页面的内容可能因为异步更新而没有相应的改变。因此,搜索引擎可能会无法捕捉到异步更新后的页面内容,影响 SEO
  2. 增加前端和后端的复杂性:使用 Ajax 技术会增加前端和后端系统的复杂度。需要维护解析响应数据的 JavaScript 程序以及处理 Ajax 请求的服务器端程序。
  3. 安全性问题:由于 Ajax 允许异步请求数据,而不需要刷新整个页面,因此容易受到跨站脚本攻击(XSS)或跨站请求伪造(CSRF)等安全攻击。因此需要在实现时注意安全性。
  4. 浏览器兼容性问题:虽然现代浏览器都支持 Ajax 技术,但是在一些老旧浏览器上还是会出现兼容性问题,需要进行特定的处理。

综上可知,Ajax 技术虽然在增强 Web 应用程序的性能、用户体验和交互性等方面具有很多优点,但也需要注意一系列的缺点和潜在的风险,同时在实现 Ajax 功能时需要考虑这些因素。

VI. Ajax的未来发展

Ajax在未来的发展趋势

随着互联网技术的发展,Ajax 技术的发展也在不断地被推进和完善。

以下是一些 Ajax 技术在未来的发展趋势:

  1. Ajax 技术将更多地被应用于移动端:随着智能手机和平板电脑等移动设备的普及,移动端的使用越来越普遍,Ajax 技术也将更加普及。在移动设备上使用 Ajax 技术可以提高移动应用程序的性能和交互性,提高用户体验。
  2. WebAssembly 将趋于成熟:WebAssembly 是一种新的编程语言,可以使客户端在浏览器上表现如同本地应用一样的性能。当应用程序需要大量计算时,WebAssemgly 可以更快地执行程序,因此 Ajax 技术未来也会与 WebAssembly 相结合,使得应用程序的速度更快。
  3. WebSockets 技术将趋于成熟:WebSockets 是一种全双工的通讯协议,能够在 Web 应用程序中实现实时通信。Ajax 技术虽然也可以实现实时通信,但是 WebSockets 在性能和可扩展性方面具有更大的优势,未来 Ajax 技术也将更加多样化。
  4. Web 应用程序的安全性更加重视:Ajax 技术虽然提高了应用程序的交互性和性能,但也面临着一些安全风险。应用程序在 Ajax 方面应该加强安全方面的措施,以防止黑客攻击或数据泄漏,同时开发人员应该更加注重代码的编写质量和漏洞的修复等方面。

综上所述,Ajax 技术在未来的发展趋势中,与移动端、WebAssembly 和 WebSockets 的结合以及安全性方面的加强都将得到更多的关注和实践。

Ajax可能带来的变革

Ajax 技术作为一种强大的前端技术,将带来一系列的变革,包括:

  1. 提高用户体验:使用 Ajax 技术可以在不必完全重新加载整个页面的情况下,实时更新部分内容,提高用户体验。
  2. 提高网站性能:由于 Ajax 技术可以异步加载数据并更新页面,可以减少整个页面的加载时间,提高网站性能
  3. 更加灵活的设计:使用 Ajax 技术可以将 Web 应用程序分成多个小的模块,减少页面的复杂度,使设计更加灵活。
  4. 更多的数据交互:使用 Ajax 技术可以实现实时交互,更容易获取或提交数据,使 Web 应用程序更加具有实时性。
  5. 支持跨平台:由于 Ajax 技术是基于 Web 标准的技术,也就是说,Ajax 应用程序在任何设备上都可以运行,支持跨平台。

综上所述,Ajax 技术的发展将会带来更多的变革,包括提高用户体验、提高网站性能、更加灵活的设计、更多的数据交互以及跨平台等方面。这些变革将带来更加便利和更加舒适的 Web 应用程序使用体验。同时,开发 Ajax 应用程序也需要注重安全性等方面的注意事项。

VII. 结论

Ajax的作用和影响

Ajax(异步 JavaScript 和 XML)是一种用于在 Web 应用程序中实现异步数据传输的技术,其作用和影响有以下几点:

  1. 提高用户体验:Ajax 可以实现无需刷新整个页面,即可更新部分内容,可以大大提高 Web 应用程序的用户体验。
  2. 减少数据传输量:Ajax 可以在不需要更新整个页面的情况下,只获取需要更新的部分数据,通过减少数据传输量,提高了页面加载速度。
  3. 实现实时交互:Ajax 技术可以实现局部页面的更新,从而实现实时交互,如网页聊天室。
  4. 更好的数据处理:Ajax 技术可以使用多种数据格式传输数据,包括 HTML、XML、JSON 和文本等,使得数据处理变得更加灵活和高效。
  5. 支持跨域请求:Ajax 技术支持跨域请求,使得 Web 应用程序更加灵活多样化。

总之,Ajax 技术在 Web 应用程序中具有重要的作用和不可忽视的影响。它可以大大提高用户体验和页面性能,实现实时交互,为 Web 应用程序带来更高的可扩展性、更好的可维护性和更好的响应性。

Ajax的发展前景

随着 Web 技术的不断发展,Ajax 技术也会随之一起发展,并将在未来持续发挥重要的作用。以下是 Ajax 技术的发展前景:

  1. 移动端领域的广泛应用:如今移动设备的应用场景越来越广泛,Ajax 技术可以结合移动端需求,实现更加灵活的交互和更好的用户体验。
  2. 跨端开发的主要技术:随着 Web 应用程序的普及和桌面应用程序的多样化,Ajax 技术将成为跨端开发的主要技术。
  3. 更加高效的性能优化:随着业务越来越复杂,应用程序的性能优化也需要更加关注。Ajax 技术可以有效地提升应用程序的性能,在浏览器端缓存、服务器端缓存、异步加载数据等方面都具有很好的优化方案。
  4. 更好的安全性和稳定性:Ajax 技术在使用过程中一定程度上存在安全风险,因此在未来的发展过程中需要更加关注安全性问题。同时,Ajax 技术的不断发展和完善也将带来更好的稳定性和可靠性。
  5. 与人工智能技术的结合:随着人工智能技术的飞速发展,Ajax 技术的结合将带来更多创新应用的可能性,如智能聊天机器人、语音识别等都是 Ajax 技术的重要应用方向。

综上所述,Ajax 技术在未来的发展前景可谓广阔,不仅可以应用在 Web 应用程序开发中,也可以跨端使用。Ajax 技术的发展将为 Web 应用程序带来更好的用户体验、更高的性能优化、更好的安全性和稳定性,同时也可以结合人工智能技术等带来更多的应用探索。

相关文章
|
1月前
|
XML 前端开发 JavaScript
AJAX 前端开发利器:实现网页动态更新的核心技术
**AJAX** 允许网页在不刷新的情况下更新内容,实现异步与服务器交换数据。通过JavaScript的XMLHttpRequest对象,可发送和接收数据。当用户触发事件(如点击),函数向服务器发送GET请求,服务器响应后更新指定HTML部分。AJAX并非编程语言,而是利用浏览器内置对象、JavaScript和DOM技术。核心是XMLHttpRequest对象,它有多种方法(如`open()`和`send()`)和属性(如`onreadystatechange`、`readyState`和`status`)来处理请求和响应。
58 2
AJAX 前端开发利器:实现网页动态更新的核心技术
|
2月前
|
设计模式 前端开发 JavaScript
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)
22 0
|
2月前
|
XML JSON 前端开发
JavaWeb----Ajax技术
JavaWeb----Ajax技术
57 0
|
3月前
|
XML JSON 前端开发
Ajax技术【Ajax技术详解、 Ajax 的使用、Ajax请求、 JSON详解、JACKSON 的使用 】(一)-全面详解(学习总结---从入门到深化)
Ajax技术【Ajax技术详解、 Ajax 的使用、Ajax请求、 JSON详解、JACKSON 的使用 】(一)-全面详解(学习总结---从入门到深化)
58 1
|
3月前
|
JSON 前端开发 JavaScript
探秘 AJAX:让网页变得更智能的异步技术(下)
探秘 AJAX:让网页变得更智能的异步技术(下)
探秘 AJAX:让网页变得更智能的异步技术(下)
|
3月前
|
XML 前端开发 JavaScript
探秘 AJAX:让网页变得更智能的异步技术(上)
探秘 AJAX:让网页变得更智能的异步技术(上)
探秘 AJAX:让网页变得更智能的异步技术(上)
|
3月前
|
设计模式 缓存 前端开发
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)(下)
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)
15 1
|
3月前
|
前端开发 JavaScript fastjson
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)(上)
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)
24 1
|
3月前
|
JSON 前端开发 JavaScript
介绍几个常见的 AJAX 实例,帮助你更好地理解和运用 AJAX 技术
介绍几个常见的 AJAX 实例,帮助你更好地理解和运用 AJAX 技术
39 2
|
5月前
ajax+json模拟一个页面多个统计图数据交互
ajax+json模拟一个页面多个统计图数据交互
24 1