微信网站建设塞尼铁克it彩票网站建设维护工程师

news/2025/10/2 20:28:24/文章来源:
微信网站建设塞尼铁克,it彩票网站建设维护工程师,泰州模板开发建站,网站seo内容优化摘要#xff1a;AJAX是一个在前端的应用非常广泛技术#xff0c;为什么还要谈它呢#xff1f;么得办法之前学的不全面#xff0c;再收拾收拾。水平有限#xff0c;欢迎指正#xff01; AJAX#xff08;全称#xff1a;Asynchronous JavaScript and XML#xff09;是一…摘要AJAX是一个在前端的应用非常广泛技术为什么还要谈它呢么得办法之前学的不全面再收拾收拾。水平有限欢迎指正  AJAX全称Asynchronous JavaScript and XML是一种在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容的技术。Ajax和普通HTTP请求都是用于与服务器进行数据交互的方式其主要区别 异步性Ajax请求是异步的可以在不阻塞页面渲染的情况下发起和处理请求而普通HTTP请求通常是同步的发送请求后会阻塞页面的渲染直到收到响应或者超时。 数据交换格式虽然名字中包含 XML但实际上在Ajax中使用的数据交换格式不限于XML也可以是JSON、HTML或纯文本等而普通HTTP请求通常以HTML为主。 服务端压力由于Ajax请求是异步的可以减少对服务器的压力而普通HTTP请求可能会因为频繁的页面刷新导致服务器压力过大。 用户体验由于Ajax请求是异步的可以提供更好的用户体验用户可以在等待响应时继续与页面交互而普通HTTP请求会导致页面的停顿和刷新影响用户体验。 Ajax使用流程 1. 创建XmlHttpRequest对象 XMLHttpRequest是Ajax的核心 它是一个构造函数可以通过new关键字来调用语法 var 变量名 new XMLHttpRequest(); Ajax使用该对象发起请求、接收响应但 XMLHttpRequest并不是W3C的标准不同浏览器的创建方式不同。 /*** Chrome、Firefox、IE7、Opera、Safari等浏览器使用的是XMLHttpRequest* 注意IE5和IE6不支持该对象它们使用ActiveXObject*/ // 判断浏览器是否支持该对象 if (window.XMLHttpRequest) {xmlhttp new XMLHttpRequest(); } else { // IE5和IE6使用的是ActiveXObjectxmlhttp new ActiveXObject(Microsoft.XMLHTTP); } 2. 配置请求信息 open()方法用于设置请求的方法、URL和是否异步发送请求语法 xmlhttp.open(method, url, async); // 请求类型,请求的URL,是否异步 请求类型表示请求的类型例如GET、POST等;请求的URL表示请求的地址可以是相对地址也可以是绝对地址;是否异步表示是否采用异步方式如果为true表示异步如果为false表示同步。 注意该方法并不会真正发送请求而只是启动一个请求以备发送实际的请求发送是通过调用send()方法实现的。 3. 向服务器发送数据 send()方法用于发送请求。它是在调用open()方法之后设置请求头可选并准备好要发送的请求体数据后调用的常见用法如下 // 不带参数适用于GET请求或者不需要在请求体中传递数据的POST请求。 xmlhttp.send();// 传递字符串作为请求体数据适用于POST请求并且请求体中需要传递字符串格式的数据。 xmlhttp.send(dataexample);// 传递FormData对象适用于POST请求可以方便地构建包含键值对的表单数据并传递给服务器。 var formData new FormData(); formData.append(name, John); formData.append(age, 25); xmlhttp.send(formData);// 传递JSON字符串作为请求体数据适用于POST请求并且请求体中需要传递JSON格式的数据。 xmlhttp.setRequestHeader(Content-Type, application/json); xmlhttp.send(JSON.stringify({ name: John, age: 25 }));4. 处理服务器响应 XMLHttpRequest.onreadystatechange()是一个事件处理函数当XMLHttpRequest对象的  readyState属性值发生变化时该函数将被触发status则为请求响应的状态码。 以下是readyState属性的值说明 0表示XMLHttpRequest对象正在初始化尚未发送请求;1表示请求已经发送但尚未收到响应;2表示请求已经发送并且服务器已经处理请求正在等待服务器响应;3表示请求已经发送并且服务器已经处理请求并且响应已经就绪但尚未读取;4表示请求已经发送并且服务器已经处理请求并且响应已经就绪并且响应的内容已经读取完毕。 xmlhttp.onreadystatechange function () {// 响应已被接受且服务器处理成功时才执行响应状态码200if (xmlhttp.readyState 4 xmlhttp.status 200) {// 获取响应体的文本,做些什么...} } 需要注意的是onreadystatechange()事件会在Ajax使用同步方式时失效无法执行, 也就是open()方法第三个参数传入false. 完整Ajax请求发送流程示例 //1. 创建XMLHttpRequest对象 var xmlhttp; // 用于保存创建好的对象 /** * XMLHttpRequest是Ajax的核心 * 它是一个构造函数可以通过new关键字来调用 * Ajax使用该对象发起请求、接收响应 * 语法var 变量名 new XMLHttpRequest(); * XMLHttpRequest并不是W3C的标准不同浏览器的创建方式不同 * 例如Chrome、Firefox、IE7、Opera、Safari等浏览器使用的是XMLHttpRequest * 注意IE5和IE6不支持该对象它们使用ActiveXObject */ // 判断浏览器是否支持该对象 if (window.XMLHttpRequest) { xmlhttp new XMLHttpRequest(); } else { // IE5和IE6使用的是ActiveXObjectxmlhttp new ActiveXObject(Microsoft.XMLHTTP); } /** * 先创建请求open()方法指定请求类型和URL * 语法xmlhttp.open(请求类型,请求的URL,是否异步) * 参数请求类型表示请求的类型例如GET、POST等 * 请求的URL表示请求的地址可以是相对地址也可以是绝对地址 * 是否异步表示是否采用异步方式如果为true表示异步如果为false表示同步 * 例如xmlhttp.open(GET,/content,true); * 注意该方法并不会真正发送请求而只是启动一个请求以备发送 * 然后调用send()方法发送请求 */ // 2. 配置请求信息 xmlhttp.open(GET, /content); // 3. 发送Ajaxxmlhttp.send(); // 4. 处理服务器响应 /** * XMLHttpRequest.onreadystatechange()是一个事件处理函数当XMLHttpRequest对象的 * readyState属性值发生变化时该函数将被触发。* 以下是readyState属性的值说明 * 0表示XMLHttpRequest对象正在初始化尚未发送请求。 * 1表示请求已经发送但尚未收到响应。 * 2表示请求已经发送并且服务器已经处理请求正在等待服务器响应。 * 3表示请求已经发送并且服务器已经处理请求并且响应已经就绪但尚未读取。 * 4表示请求已经发送并且服务器已经处理请求并且响应已经就绪并且响应的内容已经读取完毕。 */ xmlhttp.onreadystatechange function () { // 响应已被接受且服务器处理成功时才执行响应状态码200 if (xmlhttp.readyState 4 xmlhttp.status 200) { // 获取响应体的文本 var t xmlhttp.responseText; console.log(t); document.getElementById(divContent).innerHTML document.getElementById(divContent).innerHTML t; } } AjaxJSON开发模式 了解下这种开发模式Ajax提交给后端Tomcat由具体servlet处理过程是首先servlet会将数据从数据库提取出来组织成数据对象再处理成JSON字符串返回给前端进行局部页面的刷新。相对于传统整页刷新的模式AjaxJSON这种模式异步通信提升用户体验、JSON轻量级数据格式提高传输效率JSON几乎可以被所有编程语言解析和处理更加灵活。 关于Java对象序列化为JSON可以借助Jackson组件大致过程如下。当然也可以使用Ajax组件库Axios使用简单的API简化了发送Ajax和处理响应的过程。 !-- 引入依赖 -- dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.12.3/version /dependency// Java对象-》josn // 创建一个ObjectMapper对象用于将Java对象转换为JSON字符串。 ObjectMapper objectMapper new ObjectMapper(); // 使用ObjectMapper对象的writeValueAsString()方法将Java对象list转换为JSON字符串。 String json objectMapper.writeValueAsString(list); response.setContentType(text/json;charsetutf-8); response.getWriter().println(json); Ajax的跨域问题 我们知道浏览器的同源策略当请求访问的不同的源服务器会返回一个不带有Access-Control-Allow-Origin字段的响应浏览器解析时发现缺少了这个字段, 就会报错。既然Access-Control-Allow-Origin字段是判断的依据通常需要后端支持处理下这个字段。处理过程如下[1] // 1. 请求接口添加注解 CrossOrigin(origins *, maxAge 3600) // 说明origins * origins 值为当前请求该接口的域2. 通用配置 /** * 跨域请求配置 */ Configuration public class CorsConfig { Beanpublic CorsFilter corsFilter(){UrlBasedCorsConfigurationSource source new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration(/**,buildconfig());return new CorsFilter(source);} private CorsConfiguration buildconfig(){CorsConfiguration corsConfiguration new CorsConfiguration();corsConfiguration.addAllowedOrigin(*);corsConfiguration.addAllowedHeader(*);corsConfiguration.addAllowedMethod(*);return corsConfiguration;} } [1]   SpringBoot 优雅解决 ajax 跨域请求   https://juejin.cn/post/6844903954015322126?searchId2024012821471504A45602B4CC6063A818

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

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

相关文章

wordpress主题发布站源码wordpress文章显示作者

需求分析:使用Allegro软件进行PCB Layout设计时,当电路图中有很多路相同的模块,使用模块复用的的操作方法,可以显著提高工作效率,同时也可以使PCB布局在整体上显得美观。下面来讲述这个方法。 具体方法及说明&#xf…

福州市 2025 国庆集训 Day2 前三题题解

福州市 2025 国庆集训 Day2 前三题题解 T1 U614648 strip 首先不难想到,将最长的两个放在两端,并且最长的将非插头那端突出去是最合算的。 然后我们来看看中间的 \(s-2\) 个位置与 \(n-2\) 个插座的分配。 需要遵循的…

2025 年马赛克厂家 TOP 企业品牌推荐排行榜,陶瓷,游泳池,喷墨,冰裂,拼花,防滑,复古,家装马赛克推荐这十家公司!

引言在当前建筑陶瓷行业中,马赛克产品的应用场景愈发广泛,从标准游泳池、水上乐园到别墅、酒店会所等,对马赛克的需求持续增长。然而,行业内也面临着诸多问题,部分厂家缺乏专业的研发能力,产品质量参差不齐,有的…

oppoR9m刷Linux系统: 手动备份系统与基带IMEI/NVRAM/QCN

前言全局说明某些原因,软件不能正确读取手机分区信息,那么就要手动创建脚本来备份注意:刷机,会丢失用户:照片、聊天等信息资料。请备份基带等信息。请慎重刷机 !!! 注意:刷机,会丢失用户:照片、聊天等信息资料…

原来你是这样的claude code aciton:没想象中好

需要占用 github action minutes,要用钱哦 并不是在客户端艾特,而是在 gh网页上 at github自动生成的 pull request workflow 文件不对,版本需要更新

2025/9/29

2025/9/291.统一建模语言训练 2.数据结构学习 3.学习Java开发思路

实用指南:【Python】正则表达式

实用指南:【Python】正则表达式pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&qu…

专门做调查的网站建设春秋龙卡信用卡网站

MYSQL避免全表扫描 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描 如:select id f…

FlareOn1 -- 5get_it

用 DIE 打开,是一个 dll用 ida 打开,简单分析一下,是一个记录键盘按键的程序。里面的每个虚拟键码都有一个函数返回字符串那么 flag 在哪里呢?看到左边函数窗口里看到有一个 DialogFunc,按 X 查找交叉引用,最后找…

2025/10/1

2025/10/1回家

2025 年阀门厂家 TOP 企业品牌推荐排行榜,管道阀门,气动,调节,电动执行器,生产,电磁,不锈钢,进口,耐高温阀门推荐这十家公司

在工业领域,阀门作为流体控制的关键部件,其质量优劣、性能好坏直接关系到整个系统的安全稳定运行。从市政工程的供水供气,到工业防爆场景的严苛环境,再到环保水处理、能源化工等行业,阀门无处不在。然而,当前阀门…

爬虫逆向-AST科技

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站开发如何查看请求体包头建设厅官方网站

之前做页面抓取,数据采集等功能的时候,第一个想到的就是用正则表达式去匹配页面内容。但是对于像我这种,正则只懂皮毛的人来说,写正则是真的很恶心的一件事。去网上找,也不一定能改成自己需要的正则。今天给大家推荐一…

2025/9/30

2025/9/30钳工工程实训 英语听说能力训练

天津购物网站搭建唐山地方志网站建设

来源:微信公众号科技咨询频道作者:谢黎、张志强,中国科学院成都文献情报中心兰德公司2021年5月24日发布《美国5G时代:在保障国家和人民的同时获得竞争优势》报告。报告援引美国国防创新委员会、联邦政府的观点,声称5G是…

做蛋糕需要建议网站不丹阳网站

这篇回答两个问题: 1.为什么在 pycharm中打开新的project,切换interpreter 之后发现自己之前装的库消失了? 2.为什么 interpreter 切换到python3.8了, terminal 还是在 3.9?? 问题的关键:搞懂什…

tcp与udp 协议 - 摘星

TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Datagram Protocol,用户数据报协议) 是 TCP/IP 协议族中最核心的两种传输层协议,二者在可靠性、连接方式、传输效率等维度存在本质区别, 适用于不…

赛前训练4 extra 字典树

A 板子。实现 #include <cstdio> #include <iostream> #include <algorithm> #include <cstring> #include <string> #include <stdlib.h> #include <vector> #include <…

CF1450E Capitalism

首先你发现这个条件特别能用差分约束描述,特别是构造方案。 但是你无法处理相同的情况,我们注意到相连的边的两个点的 \(a\) 奇偶性必定不同,于是这必定是一张二分图,检验一下是不是二分图即可。 然后跑普通的差分…

织梦如何做几种语言的网站移动互联网开发平台基于linux安卓

“同物异谱&#xff0c;同谱异物”会对影像分类产生的影响&#xff0c;加上高分辨率影像的光谱信息不是很丰富&#xff0c;还有经常伴有光谱相互影响的现象&#xff0c;这对基于像素的分类方法提出了一种挑战&#xff0c;面向对象的影像分类技术可以一定程度减少上述影响。 本…