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

相关推荐

  • 怎样炖鸡好吃家常做法?家庭炖鸡最好吃做法

    导语:炖鸡时有人焯水,有人直接炖,全不对,教你好吃做法,比饭店还香 大家好,生活中唯有美食和美景不可辜负。冬天就适合吃炖菜炖肉,像炖白菜、炖鸡、炖大骨棒、炖鱼等等,热乎乎的一大锅,…

    2022年12月9日
  • (如何对创业项目进行分析)创业项目分析

    很多创业者在创业初期会纠结如何选择创业项目,是根据市场还是遵从内心?下面帮你分析,作为创业者,在选择创业项目时你需要知道的。 【1】遵从内心喜好选择项目 不得不承认,当人们从事的工…

    2022年11月7日
  • 蒸鸡蛋怎么做好吃又嫩?水蒸蛋正确做法

    宝宝的辅食添加鸡蛋羹也是可以的,自己做的,比起其它食物好消化还卫生,宝贝吃着也放心。 蒸鸡蛋羹想要嫩滑无蜂窝,简单的加水上锅蒸,那就错了,多加两个步骤,细嫩爽滑。   【…

    2022年12月4日
  • 草莓酱怎么做?草莓酱的做法和配方

    现在这个季节,草莓还没有完全上市,一斤草莓需要八九元一斤,前两天,朋友送给我一筐草莓,太多吃不完,就做了一些草莓酱,比新鲜的草莓存放的久一些,可以慢慢吃。 下面就跟您分享这道草莓酱…

    2022年12月14日
  • 新型农业科技项目有什么?农业科技项目

    新型农业有林下养殖、有机种植、休闲农业、农机租赁服务、互联网农业服务等项目。 林下养殖 林下经济主要是指以林地资源、森林生态环境为基础发展林下种植、森林旅游、水产养殖、集聚产业等项…

    投稿 2022年11月20日
  • 如何自制微信小程序

    如何自制微信小程序 随着移动互联网的发展,微信小程序已经成为一种流行的应用程序,它可以帮助企业提高客户体验,提高企业的知名度和市场占有率。那么,如何自制微信小程序呢?下面就给大家介…

    投稿 2023年7月4日
  • 燕麦粥怎么做才能更好吃?燕麦米粥的做法和功效

    有这样一句话:一日之计在于晨,它是告诉我们要珍惜时间,尤其是早晨。早晨是一天当中最美好的时光,经过一晚上的休息,一切都变得很新鲜,也让我们享受。而早餐则是早晨一想重要的活动,早餐是…

    2022年12月13日
  • 钱放支付宝余额宝里安全吗

    支付宝余额宝安全吗? 一、什么是支付宝余额宝 支付宝余额宝是支付宝推出的一项金融理财产品,用户可以将自己的资金存入余额宝,支付宝会将用户的资金投资到国内知名的银行和金融机构,用户可…

    投稿 2023年7月1日
  • fps游戏推荐(剧情好的fps游戏)

    “FPS”也就是第一人称射击游戏,其中的代表作包括《反恐精英》、《使命召唤》等,这类游戏深受射击游戏玩家的喜爱,目前全网就有十款最有人气的此类射击游戏,那么作为FPS射击游戏的玩家…

    2022年11月14日
  • 最简单孩子还爱吃的早餐?孩子上学早餐

    下周孩子们就要开学了,孩子们的爸爸妈妈心里窃喜,孩子们终于开学了,终于不用从早到晚面对着精力旺盛的小可爱们。孩子开学,孩子的爸爸妈妈们要早起给孩子们准备早餐,想到这是否感动脑壳疼呢…

    2021年11月18日