AJAX基础入门

【个人学习总结】CRC校验原理及实现 CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。 .................. 阅读详情

Ajax

AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。

AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。

AJAX 是一种用于创建快速动态网页的技术。

通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。

 

这是百度的摘录,进入正文。

 

这2天在看Head First,有一本ajax的书,看了看觉得适合新手,图文并茂,生动形象。

 

从这本书我学到了什么呢?他里面一部分在讲ajax 一部分在讲JavaScript结合ajax实现一些表单验证类的,这些东西我就直接跳过了。

 

Ajax最最最主要的api也就是XMLHttpRequest建立请求发送到服务端

 

分为几个步骤:首先得到XMLHttpRequest对象,然后为对象的几个重要属性赋值,分别为

request.open("GET",url,true);

request.onreadystatechange = 函数名

request.send(null);

1.首先就是open,顾名思义开放,需要3个参数,第一个是请求方式,这里先讲“GET”,然后是url,你请求到后台服务器的一个连接地址,比如checkUser.jsp?username = escape(.....);

就是一段get请求就对了,escape是js特别处理参数,防止乱码。然后就是第三个参数boolean值,true代表开启异步请求,反之。(不知道异步的为什么要学ajax,先了解异步去)

 

2.然后就是onreadystatechange指定一个函数,就是一个回调函数,这里下面重点讲

 

3.最后就是send的了,一般get请求send都是传个null,它在post请求下比较常用

 

这里插入一个知识点,ajax异步请求服务器,服务器会分阶段告诉浏览器处理结果,一般分为4个阶段,每个阶段都会调用onreadystatechange的方法,所有在下面处理服务器返回结果是应该注意。

 

Ajax请求服务器返回四个阶段:

0 - (未初始化)还没有调用send()方法 
1 - (载入)已调用send()方法,正在发送请求 
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容 
3 - (交互)正在解析响应内容 
4 - (完成)响应内容解析完成,可以在客户端调用了 

 

百度上查找的资料说有5个阶段,但是我认为0阶段还未涉及要服务器交互所以不说。

 

那么我们就要通过判断阶段来分别处理回调函数。

 

这里有一小段代码

if(request.readyState==4){

if(request.status==200){

....

}

}

这段代码我放在回调函数里,判断当处理阶段达到4时候才进行交互,并且要判断服务器返回状态是否为200,至于状态码自行百度。

不信有这几个阶段的朋友可以在第一个if里加一个alert语句去判断一下QAQ。。。。

 

然后ajax基本就完了。还有就是一个post请求。

那么post请求要怎么写呢?

1.request.open("GET",url,true); 把第一个参数改为POST

2.把url直接的参数改为直接一个地址就行不要带参数,比如上面的改为checkUser.jsp

3.然后要自己拼装一个参数

比如:var requestParam = “username=’+escsap(username) +”&password=”+escape(password);

4.然后把数据放在send里send(requestParam);

5.然后要为post请求提交一个header数据  content-type你发送什么数据就设置什么数据。setRequestHeader("Content-Type","

application/x-www-form-urlencoded")

然后没了。

 

接下来讲一下request接收回来的数据类型

 

Responsetext responseXML 一般就是服务端直接返回一段文本,或者返回xml,现在更流行json

 

在js里利用JSON.parse(object)解析JSON。不过书里写的是利用eval方法去计算得到对象。eval("("+responseText+")");

在服务端怎么返回json,以java为例,需要第三方jar包支持

 

那么在js中又如何使用json数据呢

 

For(var obj in object){

Alert(object[obj]);

}

 

obj是json对象里的属性名字,通过访问object[obj]得到属性值,那么如何访问是数组的属性值,head first里有一段代码提供,我自己也没去测试,这里贴一下

 

function isArray(obj){
    if(typeof obj =="object"){
        var criteria  = obj.constructor.toString().match(/array/i);
        return (criteria!=null)
    }
    return false;
}



然后这里是ajax适配浏览器的代码,看看就行 现在好多框架工具包都有优化,比如jquery

 

function  createRequest(){
	var request;
	try{
		request =  new XMLHttpRequest();
	}catch(ex1){
		try{
			request =  new ActiveXObject("Msxml2.XMLHttp");	
		}catch(ex2){
			try{
				request =  new ActiveXObject("Microsoft.XMLHttp");
			}catch(ex3){
				request = null;
			}
		}
	}
	return request;
}

下面是我springmvc写的一个方法测试ajax的。

@RequestMapping("check")
	public void check(@RequestParam("username") String id,
			HttpServletResponse response) throws IOException {
		//Map
  
    map = new HashMap
   
    ();
		String msg = "";
		if (d.check(id))
			//map.put("msg", "用户名可以使用");
			msg = "用户名可以使用";
		else
			//map.put("msg", "用户名已经被注册");
			msg = "用户名已经被注册";
		try {
			// 设置页面不缓存
			response.setContentType("application/json");
			response.setHeader("Pragma", "No-cache");
			response.setHeader("Cache-Control", "no-cache");
			response.setCharacterEncoding("UTF-8");
			PrintWriter out = null;
			out = response.getWriter();
			JSONObject jsonObject = JSONObject.fromObject(msg);
			out.print(jsonObject);
			out.flush();
			out.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
   
  

【软件系统架构】系列十一:面向对象技术—sysML 摘要: SysML(系统建模语言)是UML的扩展,专为复杂系统工程设计,支持硬件、软件、人员等跨领域建模。其核心包括9种图:4种结构图(如块定义图BDD、内部块图IBD)、4种行为图(如活动图AD、序列图SD)和需求图(REQ),覆盖需求、结构、行为及参数约束。相比UML(面向软件),SysML精简图表(9 vs 13),强化需求追踪与性能分析(如参数图PD),并支持MBSE(基于模型的系统工程)。需求关系(如满足、验证、派生)在需求图中明确关联设计实现,形成闭环管理。SysML是UML的子集与系统工程扩展 阅读详情

相关推荐

Silvaco Atlas从头开始(四)——定义材料参数和模型

这部分是关于定义材料参数和模型。

qsz1425AWD2121的博客 4651

Ajax基础

Ajax对象 获取对象 通过上一节我们发现,想要使用 ajax 的一系列功能,我们就必须先得到 ajax 对象 基于 W3C标准 浏览器: var xhr = new XMLHttpRequest(); 基于IE内核的浏览器: var xhr = new ActiveXObject('Microsoft.XMLHTTP'); <script> va

一个程序员的复习笔记 842

强化学习Q值迭代的几何视角:从策略区域到快速收敛

在强化学习中,Q值迭代是求解最优策略的核心算法,其理论基础建立在贝尔曼不动点定理之上。该算法通过迭代更新Q函数,使其逐步逼近最优值函数。从几何视角看,整个Q函数空间可被视为一个高维流形,每个Q函数对应流形上的一个点,而贝尔曼最优算子则定义了流形上的变换轨迹。理解这一几何结构,特别是由策略超平面划分出的凸多面体区域,对于分析算法的收敛行为至关重要。在实际工程中,传统Q值迭代可能在高维或稀疏奖励环境下收敛缓慢,甚至陷入策略高原。通过引入策略区域缓存与自适应学习率等几何启发方法,可以更高效地导航策略空间,加速策略

weixin_30444111的博客 319

ajax入门

AJAX    A  synchronous  J A vaScript and  X  ML 异步刷新传统方式如果校验用户名的话,需要提交验证,用户名存储在数据库中,只有提交才可与服务器交互。ajax是局部刷新的功能,下边的例子,就是可以直接和servlet交互,从而达到校验的目的。get方式jsp页面<%@ page language="java" contentType="text/h...

dzz_bc的博客 664

利用mininet模拟SDN架构并进行DDoS攻击与防御模拟(Ryu+mininet+sflow+postman)

1、知识概述 (1)软件定义网络: (2)mininet: Mininet是一个强大的网络仿真平台,通过这个平台,我们可以很方便的模拟真实环境中的网络操作与架构。特别是SDN,在真实网络中进行相关的网络实验有一定难度,自然需要一个仿真平台可以学习这种新型的网络架构,而Mininet就应运而生,承担了这个光荣而艰巨的使命。Mininet自带交换机(switchs)、主机(hosts)、控制器(controllers),同时,在mininet上可以安装OpenvSwitch、多种控制器(NOX\POX

北风 1万+

解决 TensorFlow 和 Keras 的 Python 版本兼容问题:详细技术指南

本文提供了TensorFlow和Keras与Python版本不兼容问题的完整解决方案。通过版本对照表指出不同TensorFlow版本对应的Python支持范围,强调2.13.x仅支持Python 3.9-3.11,且不兼容Python 3.12+。给出最佳实践建议:使用虚拟环境管理项目依赖,推荐venv或conda创建独立环境;指导正确安装TensorFlow和Keras版本,建议优先使用tf.keras避免冲突;针对常见报错如DLL加载失败、模块导入错误等提供具体解决方法。最后给出一个在兼容环境中运行的M

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1664

Ajax基础知识(一)

随便在百度谷歌上输入Ajax都会出现一大堆的搜索结果,这已经不再是什么新奇的技术了。但若从一开始就学习了ASP.Net,使用功能齐全的Visual Studio集成开发工具,或许未必能对访问一个动态网页到底发生了哪些事情了解的那么清楚。VS上提供的WebForm编程方式,让你可以像做WinForm开发一样,拖拖控件,双击写点C#代码,效果差不多就出来了,功能也实现的差不多了。...

weixin_30478923的博客 157

LAMMPS-使用MATLAB计算径向分布函数

首先需要使用LAMMPS进行分子动力学模拟,并获取到所需的数据文件,LAMMPS是一款开源的分子动力学模拟软件,可以模拟原子、分子和离子的运动行为,对于本文的目标假设你已经完成了LAMMPS的安装和模拟过程,获得了数据文件。)是一种重要的统计工具,用于描述原子或分子之间的空间分布情况,通过计算RDF可以获得物质的结构信息、相互作用距离以及相位转变等重要参数,本文将介绍如何使用MATLAB计算LAMMPS生成的数据文件的径向分布函数。变量替换为你的实际数据文件的名称。

weixin_50547796的博客 515

ajax从入门到深入精通

转载自:https://blog.youkuaiyun.com/hsd2012/article/details/51152810   $.ajax()方法详解:https://www.cnblogs.com/tylerdonet/p/3520862.html

pbyang_love的博客 522

120、ISP 驱动架构解析:从 V4L2 请求到 ISP 硬件的配置下发流程

本文以实际案例解析ISP驱动架构的V4L2到硬件配置下发流程。作者通过一个因内存共享导致画面闪烁的bug案例,详细剖析了用户空间参数通过V4L2结构体传递、驱动层拆包与硬件寄存器映射、时序同步机制等关键环节。特别强调深拷贝、dirty flag增量更新、shadow register等实现要点,并给出多路并发隔离、寄存器写入失败等典型问题的排查方法。文章建议开发者深入理解参数到寄存器的转换过程,推荐通过debugfs实时监控寄存器状态,避免过度依赖自动调试工具。全文以实践为导向,对ISP驱动开发具有直接指导

sundong_81的博客 159

别再让 AI 瞎写 SAP 代码了!这套 Claude Code Skill 的验证机制才是关键

本文深入解析了专为SAP CAP开发设计的AI辅助工具sap-cap-capire的技术架构。该工具采用四层设计:协议层集成MCP和LSP实现实时模型访问与语法检查;智能层通过4个专业化Agent(数据建模、服务开发等)分工协作;验证层确保代码质量;知识层存储文档模板。这种工程化设计解决了通用AI在CAP开发中面临的上下文不足、专业性缺失和代码质量保证等核心问题,通过本地化服务和实时反馈机制显著提升了开发效率。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 882

AJAx入门教程

三.Ajax1.原生AJax<body>   <input type="text" id="name" onblur="test()"/>  </body><script type="text/javascript">    var xhr;   //1.创建一个XMLHttpRequest对象     if(win

qq_38266792的博客 680

在 IW31 录入班次与当班负责人,并让 IW38 列表同步显示:基于 IWO10018 + IWOC0004 的一套可落地增强方案

摘要 本文详细介绍了在SAP PM模块中实现工厂设备维护订单增强的完整方案,重点解决两个核心需求:在订单创建时新增班次负责人和班次字段,并在订单列表中直接显示这些信息。文章从需求分析、技术设计到具体实现步骤进行了系统阐述。 关键实现步骤包括: 通过CI_AUFK结构扩展AUFK表,确保字段持久化存储 使用IWO10018增强在IW31/IW32/IW33事务中添加输入界面 通过IWOC0004增强在IW38订单列表中显示新增字段 采用优化的数据填充策略提升性能 该方案不仅满足业务需求,还考虑了用户体验和系统

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 176

Ajax基础入门

文章目录Ajax1.Ajax简介1.1 Ajax是什么1.2Ajax应用场景1.3Ajax技术应用模块分析2.Ajax快速入门2.1 Ajax -- Get请求操作 Ajax 1.Ajax简介 1.1 Ajax是什么     Ajax是一种Web应用技术,可以借助客户端脚本(js)与服务端应用进行异步通讯,获取服务端数据以后,可以 进行局部刷新。进而提高...

XING_Gou的博客 328

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Ajax零基础入门 Ajax零基础入门第一天

Ajax零基础入门 Ajax零基础入门第一天

代码改变世界 399

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

php100ajax教程,Ajax+PHP如何简单基础入门实例教程

Ajax+PHP如何简单基础入门实例教程Ajax+PHP如何简单基础入门实例教程首先我们来了解怎么在javascript中创建这个对象:程序代码var xmlHttp = new XMLHttpRequest();这行简单的代码在 Mozilla、Firefox、Safari、Opera 以及基本上所有以任何形式或方式支持 Ajax 的非 Microsoft 浏览器中,创建了 XMLHttpReq...

weixin_30866939的博客 132

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

前端_Ajax(零基础系统性入门)

前端_Ajax(零基础系统性入门)

weixin_64977805的博客 527

AJAX零基础入门到精通

AJAX(Asynchronous JavaScript and XML)是一种通过在后台与服务器交换数据来更新部分网页内容的技术,无需重新加载整个页面。这项技术最早由微软在1999年提出,但直到2005年Google在Google Maps和Gmail中大量使用后才被广泛接受。

m0_75107803的博客 1339

AJAX 入门:从基础到实践

AJAX 是一种用于创建快速动态网页的技术,它结合了 JavaScript 和 XML(虽然现在也常用 JSON 数据格式)。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着在不重新加载整个网页的情况下,对网页的某部分进行更新。与传统网页技术相比,传统网页如果需要更新内容,必须重载整个网页面,而使用 AJAX 技术则可以避免这种情况。目前,几乎所有的网站都离不开 AJAX 这门技术。AJAX 的最大特点是页面无刷新的请求,默认是异步的,速度快,用户体验比较好。

qq_69304031的博客 1454

【AJAX】AJAX入门基础知识

1.AJAX介绍与网页应用 2.XML的介绍 3.AJAX的优缺点 4.HTTP协议请求报文与响应文本结构 5.Chrome网络控制台查看通信报文 6.Nodejs的安装与介绍 7.express框架介绍与基本使用 8.AJAX案例准备 9.AJAX请求的基本操作 10.AJAX设置请求参数 11.AJAX发送POST请求 12.AJAX-POST设置请求体 13.AJAX设置请求头信息 14.服务器端响应JSON数据 15.nodemon自动重启工具安装 16.AJAX-IE缓存问题解决

weixin_58214412的博客 1244

Ajax 基础入门

Ajax简介 Ajax即Asynchronous JavaScript And XML(异步的JavaScript和XML) 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。Ajax的核心对象就是xmlHttpRequest,XMLHttpRequest用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新,而重定向和请求转发都是需要加载整个网页,因此使用Ajax技术能获得更好的用户体验。 采用jQuery方式使用Ajax技术: 环境:spring+spr

一夜星尘 7509

0基础入门Ajax

1.入门 需要掌握 1.数据的转换parse()、stringify() stringify(json,['name','age']) 2.创建流程、封装流程 3.会用AJAX 什么是 AJAX? AJAX = Asynchronous JavaScript And XML. ajax 主要是实现页面和 web 服务器之间数据的异步传输 我觉得学好AJAX需要直到怎么搞懂怎么获取数据和渲染到页面上 AJAX 并非编程语言。 AJAX 仅仅组合了: 浏览器内建的 XMLHttpRequest 对象(从

qq_46065861的博客 429

AJAX——0基础入门

什么是 AJAX ? AJAX = 异步 JavaScript 和 XML。 AJAX 是一种用于创建快速动态网页的技术。 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。 AJAX工作原理 注:图片来自菜鸟教程 AJA...

程序员小哲的博客 4849

ajax基础入门

补充一下Ajax的使用方法 //可以复制下面两种方法在百度上实验 //jquery的使用方法 $.ajax({ url:"index.php", success:function(data){ //访问到ajax取到的数据 console.log(data); } }) //原生的...

LHP2006的博客 136

ajax入门基础

理论基础: 什么是ajax? ajax是用来做数据交互使用的 原理: 通过XmlHttpRequest对象来向服务器发送异步请求的,从而从服务器中获得数据,然后用js来操作Dom来更新页面(简单来说:用于后台与服务器交换数据,这就能实现可以在不重新加载整个网页的情况下,对网页的部分进行更新) ajax核心: 就是js对象XmlHttpRequest 特点: 异步加载,局部刷新 异步:一次一推,前...

一只前端小白的博客 165
上一篇: SpringMVC中文乱码解决思路
下一篇: ajax异步上传文件
SnakeMoving
博客等级 码龄11年 65粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值