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

news2024/11/15 5:48:40

在这里插入图片描述

文章目录

  • I. 什么是Ajax
    • Ajax的定义和起源
    • Ajax与传统的Web应用程序之间的区别
  • II. Ajax的工作原理
    • Ajax的基本原理
    • Ajax如何通过异步传输实现无需刷新页面
  • III. Ajax的应用场景
    • 在Web应用程序中应用Ajax的优势
    • Ajax在哪些场景中使用
  • IV. Ajax的组成部分和API
    • XHR对象
    • FormData对象
    • Fetch API
    • jQuery的AJAX支持
  • V. Ajax的优缺点
    • Ajax的优点
    • Ajax的缺点
  • VI. Ajax的未来发展
    • Ajax在未来的发展趋势
    • Ajax可能带来的变革
  • VII. 结论
    • 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 对象已经成功的接收到服务器传回的数据了。通常会在这个状态下更新页面。
  3. status 属性:表示请求的状态,如 200 表示成功的请求,404 表示请求资源不存在等。

  4. 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 应用程序带来更好的用户体验、更高的性能优化、更好的安全性和稳定性,同时也可以结合人工智能技术等带来更多的应用探索。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/684318.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用postman进行web端自动化测试

目录 前言 一、抓包(使用Charles抓包工具) 二、选择请求方法 三、填写url地址 四、填写Header 五、填写body 六、断言(Tests页) 七、获取动态参数——例如token 八、设置静态参数(请求地址、账号密码等&#x…

【Django-功能优化】存储、循环、操作选择对代码性能的影响

功能开发背景 港口货轮需要进行集装箱的装卸任务: 船上的每一个集装箱,可以用三个维度的坐标来唯一定位:(bay, column, layer),这三个维度结合其他一些固有信息,构成了一个箱子的字段属性,存储在箱子数据表…

百度的人脸识别的技术

百度的人脸识别的技术 1.基本概念 分组:分组ID(group_id):分组ID用于对一组相关的人脸进行分组和管理。你可以根据自己的需求,将不同的人脸数据分配到不同的分组中。例如, 你可以根据人员的职位、部门或其…

Nginx优化安全防盗链

1.Nginx的页面优化 1.1 Nginx的网页压缩 在Nginx的ngx_http_gzip_module压缩模块提供对文件内容压缩的功能。进行相关的配置修改,就能实现Nginx页面的压缩,达到节约带宽,提升用户访问速度 1.2 配置Nginx的图片缓存 当Nginx将网页数据返回给…

阿里云企业邮箱免费版、标准版、集团版和尊享版区别

阿里云企业邮箱版本分为免费版、标准版、集团版和尊享版,除了价格区别,功能方面有什么差异?如何选择企业邮箱版本?免费版0元适合初创型企业,标准版适合大、中、小型企业使用,涉及子公司之间邮箱通讯可以选择…

jQuery学习

原生实现计数器 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-wi…

getopt_long 函数的使用

getopt_long 函数的使用网上已经有很多了&#xff0c;这里只是记录一下方便自己后续查找。首先函数原型声明&#xff1a; #include <getopt.h>int getopt_long(int argc, char *argv[],const char *optstring,const struct option *longopts, int *longindex); 函数是用…

Navicat使用导入向导批量插入数据到数据库

Mybatis,"可持久层数据库框架" Html,"超文本标记语言" Css,"网页外设计语言" JavaScript,"用户行为交互" Jquery,"提升网页开发效率的一种框架" Vue,"前端开发框架" Vant,"前开发预装组件库" git,"…

SM2算法对比RSA算法,有哪些优势?

SM2算法和RSA算法都是公钥密码算法&#xff0c;SM2算法是一种更先进安全的算法&#xff0c;在安全性能、速度性能等方面都优于RSA算法&#xff0c;在我国商用密码体系中被用来替换RSA算法。国家密码管理局于2010年12月17日发布了SM2算法&#xff0c;并要求现有的基于RSA算法的电…

《面试1v1》Redis基础

&#x1f345; 作者简介&#xff1a;王哥&#xff0c;CSDN2022博客总榜Top100&#x1f3c6;、博客专家&#x1f4aa; &#x1f345; 技术交流&#xff1a;定期更新Java硬核干货&#xff0c;不定期送书活动 &#x1f345; 王哥多年工作总结&#xff1a;Java学习路线总结&#xf…

Golang/Python 调用 openAI 的API 详解

学习目标&#xff1a; OpenAI API介绍 学习如何通过 Golang 使用 OpenAI 的 API OpenAI 的常用的参数及其说明 了解OpenAI API 中令牌&#xff08;tokens) OpenAI API 提供了几个不同的终端点&#xff08;endpoints&#xff09;和模式&#xff08;modes&#xff09; 复杂和…

【已解决】Java 中导入excel时使用 trim() 无法去除空格的解决方法

使用trim无法去除空格的解决方法 一、问题描述二、原因分析三、解决方案方案一&#xff1a;使用正则表达式方案二&#xff1a;使用String.strip()方案三&#xff1a;使用 hutool的 StrUtil.trim()方法 四、总结 一、问题描述 在excel导入操作时&#xff0c;读取cell中的字符串…

自学Python 69 Selenium八大元素定位方法(新版BY方法)

Python Selenium八大元素定位方法(新版BY方法) 文章目录 Python Selenium八大元素定位方法(新版BY方法)前言一、常用的八种定位方法&#xff08;新旧对比&#xff09;二、查看网页元素三、八大元素定位示例1、id定位2、name定位3、class定位4、tag定位5、link定位6、partial_li…

MySQL - 第9节 - MySQL内外连接

目录 1.内连接 2.外连接 2.1.左外连接 2.2.右外连接 3.简单案例 1.内连接 • 表的连接分为内连接和外连接。 • 内连接实际上就是利用where 子句对两种表形成的笛卡儿积进行筛选&#xff0c;我们前面学习的查询都是内连接&#xff0c;也是在开发过程中使用的最多的连接查…

【C++】模板初级内容(函数模板,类模板)

文章目录 前言一、函数模板1.1 函数模板概念1.2函数模板格式1.3模板的原理&#xff1a;1.4函数模板的实例化 二、类模板2.1 类模板的定义格式2.2定义与声明分离要注意的点 前言 告诉编译器一个模子&#xff0c;让编译器根据不同的类型利用该模子来生成代码 模板分为函数模板与类…

MES系统常用的数据采集网关

随着制造业的数字化转型&#xff0c;MES&#xff08;制造执行系统&#xff09;在生产过程中的重要性日益凸显。MES系统作为连接企业资源和生产现场的桥梁&#xff0c;需要实时、准确地采集和整合工业设备的数据&#xff0c;以支持生产调度、质量管理、库存控制等关键业务。为了…

探索Gradio Audio模块的change、clear和play方法

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

C#常见技能_封装

大家好&#xff0c;我是华山自控编程朱老师 前几天一个学员在学习C#与封装交互时,也不知道封装可以用来做什么 。下面我们就详细讲讲C# 和封装交互的相关知识。 C#是一种面向对象的编程语言&#xff0c;封装是面向对象编程中的一个重要概念&#xff0c;通过封装可以将数据和操…

CAN(1)-GD32

CAN-GD32 电路 CAN 是 Controller Area Network 的缩写,是 ISO 国际标准化的串行通信协议。 CAN总线的很多优点,使得它得到了广泛的应用,如传输速度最高到1Mbps, 通信距离最远到10km,无损位仲裁机制,多主结构。 CAN总线的标准 CAN总线标准之规定了物理层和数据链路层…

并发和并行的区别

目录 背景过程例子&#xff1a;定义&#xff1a;并发解决办法&#xff08;Redisson&#xff09;&#xff1a;解决并发步骤&#xff08;Redisson&#xff09;&#xff1a; 总结 背景 在设计Arpro第三版的时候马总提出了一个问题&#xff0c;我们认为人家表达是并发问题&#xf…