ajax的原理(java入门基础知识)

一、ajax是什么?

Ajax 全称:asynchronous javascript and XML(异步javascript 和XML)。异步:向服务器发送请求,在等待响应的过程中,浏览器可以做自己的事情,等到成功获取响应后,浏览器才开始处理响应的数据。XML:可扩展标记语言,前后端通信时,传输数据的一种格式。

Ajax是前后端通信时一种异步通信工具。常用在网站注册检索,搜索提示等,可以不重新加载整个页面,只对页面的某部分进行更新的情况。

二、ajax的基本用法

1、创建xhr实例对象。const xhr =new XMLHttpRequest()。XMLHttpRequest,是一个构造函数,ajax实现浏览器与服务器之间异步通信的必要工具。

2、监听事件,处理响应。

xhr.onreadystatechange=()=>{

if (xhr.readyState!=4) return;

if((xhr.status>=200&&xhr.status<300)||xhr.status===304){

console.log(xhr.response)

}

}

Readystatechang:可以监听到readyState的状态变化,readyState的值:0-4。0:未初始化,尚未调用open()。1:启动。已经调用open(),还未调用send()。2:发送。已经调用send,还未收到响应。3:接收。已经收到部分响应。4:完成。已经收到全部响应,可以使用了。status:http状态码。

3。准备发送请求

xhr.open( “http方法”,“地址”,“true(是否异步)”)

4、发送请求

Xhr.send(数据)。携带的数据通过请求体发送,所以post方法可以发送数据,get请求不能发送数据。

三、json数据格式(Xhr.send(数据))

json:javascript object notation,前后端通信中的一种数据格式。json有三种形式,每一种形式都与js数据格式很像,,可以轻松的与js中的数据实现转换,通过json的转换,前后端通信时数据才能更好的识别。

Json储存在以.json为后缀的文件中。json的三种形式:1.简单值形式:数字,字符串,布尔值,null。2.对象形式:{ “name”:“张三”,”age”:18 }。3.数组形式:【1,“aaa”,null, true 】。注意:json中只要涉及到字符串都必须使用双引号,所有形式中,不包括undefined。

Json常用的方法

JSON.parse( ):将json格式的字符串解析成js中对应的值。

JSON.stringify( ):将js中的基本数据类型,对象,数组转化成json格式的字符串。

四、跨域请求(xhr.open( “http方法”,“地址”,“true(是否异步)”))

什么是跨域?https:(协议)www.imooc.com( 域名 ):443(端口号)/course/list(路径)。协议,域名,端口号,任何一个不一样就是不同域。

使用JSONP实现跨域。原理:Script标签跨域不会被浏览器阻止,JSONP主要就是利用script标签,加载跨域文件。

具体过程:

1.服务器端准备好JSONP接口。如:
https://www.imooc.com/api/http/jsonp?callback=handleResponse

2.加载JSONP接口

<script src=“https://www.imooc.com/api/http/jsonp?callback=handleResponse”></script>

3、声明函数

Const handleResponse=data=>{

console.log( data)

}

五、XMLHttpRequest对象(创建xhr实例对象:const xhr =new XMLHttpRequest())

1.XMLHttpRequest属性

⭐️responseText和response:响应的数据。

⭐️timeoout属性:设置请求的最长时间,单位是ms,毫秒。

2、XMLHttpRequest方法

Abort()方法:终止当前请求,一般配合XMLHttpRequest.abort()事件使用。

setRequestHeader( )方法:设置请求头信息。用法:xhr.setRequestHeader( 头部字段名称,头部字段的值 )。例:xhr.setRequestHeader(“Content-Type”,”application/json” ),xhr.send(JSON.stringify({ username:”Alex”,age:18}))。Content-Type:告诉服务器,浏览器发送的数据是什么格式的。

3、XMLHttpRequest事件

Load事件:响应数据可用时触发,可代替xhr.status==4

Error事件:请求发生错误时触发。

abort事件:调用abort()方法时触发。

Timeout事件:请求超时时触发。

原创文章,作者:跳跳,如若转载,请注明出处:https://ziliaobaba.com/1920.html

赞 (0)
跳跳跳跳
上一篇 2021年11月2日 15:26
下一篇 2021年11月2日 15:35

相关推荐

  • 什么行业在家就能赚钱?在家就能工作

    几天前,国家统计局统计数据,说6月份,16-24岁城镇青年失业率为19.3%。 再看看我的朋友圈,失业在家的也不少,大多都是过了24岁的。为此我整理了18个适合在家做的工作,帮助失…

    2022年10月9日
  • 中国经典电影推荐(好看的中国经典电影)

    作为一个资深的影评作者,在看了200多部电影后,发现了这5部最为经典的中国电影。这5部电影陪我度过了很多低谷难熬的时期,每次观看都能带给我很多收获。 好的电影就像人生一样,跌宕起伏…

    2022年10月15日
  • 电脑屏幕总闪烁怎么回事?电脑屏幕闪烁如何解决

    现在上班几乎离不开电脑,在家也会经常用到电脑,甚至有的时候,有了电脑就可以在家办公或者是搞定一些加班。电脑用多了,有时就会有一些问题,比如电脑突然出现闪屏怎么办,如果手头有比较紧急…

    2022年12月1日
  • 如何开淘宝店(零成本开网店)

    新用户注册店铺应该怎么操作呢? 1、第一步就是用户必须注册一个淘宝网会员账户,我们可以直接使用自己的淘宝账户登录电脑版官方凭条。 2、支付宝相信大家都有,我们只要绑定银行卡就可以完…

    2022年12月8日
  • 怎样做花卷又好看又简单?创意好看的花卷做法

    花卷和馒头一样,也是发面的,松软的口感,层次丰富的外形,搭配独特的香味,既有馒头没有的咸香,又不会像包子一样吃多了腻人,不配菜都能吃好几个!花卷也有很多种口味,我自己做过辣椒的、葱…

    2022年11月27日
  • 我的世界怪物图鉴?我的世界全部动物

    当我坐在这温暖的书房里,四周堆满我所珍视的书籍,我的思想已经飞到了窗外那广袤的主世界中。 这本书包含了一位忠诚的博物学家和我的世界生物学家的一生的工作。 这位博物学家收集了在我的世…

    2021年11月11日
  • 国产车有哪些牌子?最耐用国产车

    2021年12月中国汽车工业协会发的数据显示,今年1-11月份,我国汽车产销量分别达2317.2万辆、2348.9万辆,同比分别增长3.5%、4.5%。机构预计12月汽车产销量有望…

    2022年11月24日
  • 全国著名旅游景点(全国十大旅游景点)

    如果选择去旅行,你偏爱繁华的城市,还是宁静的乡村?是喜欢拍照打卡,还是追逐慵懒与惬意?一、青海–茫崖翡翠湖如果真有上帝遗落在人间的翡翠,那么一定是翡翠湖的样子。没有商业的气息,没有人流的拥挤,这里的色彩,足够你沉醉。大大小小的潭水,不规则的分布在青海的大地上,也构成了独一无二的景观。美的不似地球,那么不真实,有那么的真切,随手一拍,就是一张大片,

    2021年12月31日
  • word怎么做表格?Word表格制作教程入门

    以word 2016 为例 在使用Word的过程中,很多时候,需要用到表格,以便清晰的展示相关业务数据,归类数据等等。在此,我总结了几种方法下面一一为看官展示一下: 在“插入”选项…

    2022年12月16日
  • 电脑运行速度慢怎么办?电脑太卡如何解决

    电脑用过一段时间后,反应速度越来越慢,真急人!那么电脑反应慢怎么办?有时候,我们真想换个新电脑算了。然而,且慢,今天孙师傅小窍门小妙招就给大家分享3个让电脑重新变快的方法,兴许您就…

    2022年11月20日