ajax的概念和原生js中的ajax、jquery中的ajax

2 篇文章 0 订阅

ajax

1、ajax的概念

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

Ajax = 异步 JavaScript 和 XML 或者是 HTML(标准通用标记语言的子集)。
Ajax 是一种用于创建快速动态网页的技术。
Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。

2、原生JS中的ajax

1.使用ajax发送数据的步骤
第一步:创建异步对象

var xhr = new XMLHttpRequest();

第二步:设置 请求行 open(请求方式,请求url):

// get请求如果有参数就需要在url后面拼接参数,
// post如果有参数,就在请求体中传递 xhr.open("get","validate.php?username="+name)
xhr.open("post","validate.php");

第三步:设置请求(GET方式忽略此步骤)头:setRequestHeader()

// 1.get不需要设置
// 2.post需要设置请求头:Content-Type:application/x-www-form-urlencoded
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

第四步:设置请求体 send()

// 1.get的参数在url拼接了,所以不需要在这个函数中设置
// 2.post的参数在这个函数中设置(如果有参数)
xhr.send(null) xhr.send("username="+name);

第五步:让异步对象接收服务器的响应数据

xhr.onreadystatechange = function(){ 
if(xhr.status == 200 && xhr.readyState == 4){ 
 console.log(xhr.responseText);
 }
整体如下:
var xhr=new XMLHttpRequest();
//参数1是请求方式 参数2是请求地址get可以拼接参数 参数3是true/false 一般省略 默认是true是异步
xhr.open("请求方式","请求地址");
xhr.send();//发送请求
xhr.onreadystatechange=function () {
     if(xhr.readyState==4&&xhr.status==200){
		console.log(xhr.responseText);//返回后台的响应结果
             
     }
}

2、jquery中的Ajax

$.ajax({
 type:"get", // get或者post
 url:"",   // 请求的url地址
 data:{},  //请求的参数
 dataType:"json",//json写了jq会帮我们转换成数组或者对象 他已经用JSON.parse弄好了 
 success:function(data){ //成功拿到结果放到这个函数 data就是拿到的结果
 }
})

3、ajax对象的属性、方法

属性

readyState: Ajax状态码
0:表示对象已建立,但未初始化,只是 new 成功获取了对象,但是未调用open方法
1:表示对象已初始化,但未发送,调用了open方法,但是未调用send方法
2:已调用send方法进行请求发送
3:正在接收数据(接收到一部分),客户端已经接收到了一部分返回的数据
接收完成,客户端已经接收到了所有数据

  • status :http响应状态码
  • 200代表成功获取服务器端数据
  • 404未找到页面等等……
  • statusText :http响应状态文本
  • reponseText:如果服务器端返回字符串,使用responseText进行接收
  • responseXML :如果服务器端返回XML数据,使用responseXML进行接收
  • onreadystatechange:当 readyState 状态码发生改变时所触发的回调函数
方法

- open(method,url,async):初始化Ajax对象 (打开)

  • method:http请求方式,get/post
  • url:请求的服务器地址
  • async:布尔值,ture代表异步请求,false代表同步请求;
    - setRequestHeader(header,value):设置请求头信息
  • header :请求头名称
  • value :请求头的值
  • xhr.getAllResponseHeaders() 获取全部响应头信息
  • xhr.getResponseHeader(‘key’) 获取指定头信息
    - send(content) :发送Ajax请求
  • content : 如果是get请求时,此参数为null;如果是post请求时,此参数就是要传递的数据

4、ajax中get请求与post请求的区别

1:传参方式:
get请求在url尾部传递参数;
post 请求在send()方法中传递参数

2:请求头:
post 请求需要声明请求头 xhr.setRequestHeader(‘Content-type’,‘application/x-www-form-urlencoded’);
get 不需要设置;

3:参数值类型:
get 传参值只能是数字、字符串
post 可以传递数字、字符串意外,还可以传递二进制数据(音乐,视屏,图片);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值