用jQuery发送ajax请求

一、get()

$.get() 通过远程 HTTP GET 请求载入信息。

  1. 这是一个简单的 GET 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,使用 $.ajax。
  2. $.get() 和 $.post() 也可以传入对象数据。查看案例3

$.get(url,[data],[callback],[type])

  • url : 请求的URL地址,String类型
  • data:要发送的key/value数据,Map类型
  • callback: 请求成功后的回调函数,Function类型
  • type:返回的内容格式,xml, html, script, json, text, _default。String类型

案例1:请求text.php,并传送两个参数

$.get("text.php",{name:aa,password:123456})

案例2:请求text.php,并传送两个参数,使用回调函数接收请求回来的数据

$.get("text.php",{name:aa,password:123456},function(data){
	//回调函数的形参data就是请求成功后返回来的数据
	console.log(data);
})

案例3:传入对象参数

$.get({
	url:"text.php",
	data:{name:aa},
	callback:function(data){
		console.log(data)
	}
})

二、post()

$.post() 通过远程 HTTP POST 请求载入信息。

  • 这是一个简单的 POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,使用 $.ajax。

$.post(url,[data],[callback],[type])

  • url : 请求的URL地址,String类型
  • data:要发送的key/value数据,Map类型
  • callback: 请求成功后的回调函数,Function类型
  • type:返回的内容格式,xml, html, script, json, text, _default。String类型

三、ajax()

ajax() 用来发送一个综合的ajax请求

语法: $.ajax(对象)
对象中是本次ajax的请求配置信息

  • url: “” //请求地址,必填
  • type: “GET/POST/PUT/DELETE” //请求方式,默认是get
  • data: {} //请求体数据
  • headers:{} //添加请求头信息
  • dataType: “json/jsonp” //服务器返回数据类型
  • async: true //是否异步
  • success:function(){} //成功的回调函数
  • error:function(){} //失败的回调函数
  • timeout: 数值 //单位是毫秒,超时时间
  • cach: true //是否缓存,默认是true
  • context: 上下文 //改变回调函数中this的指向

案例:用ajax()发送一个post请求

$.ajax({
	url:"text.php",
	type:"post",
	data:{name:aa},
	dataType:"json",
	success:function(){
		console.log(data)
	},
	error:function(){
		console.log("请求失败")
	}
})

发送jsonp请求配置参数

  • dataType:“jsonp” //使用jsonp必须写dataType: “jsonp”
  • jsonp:"" //后端定义接收回调函数名的字段名
  • cache: false //jsonp的请求缓存默认是false

案例:用ajax()发送一个jsonp请求

$.ajax({
	type:"get",
	url:"text.php",
	data:{name:"123"},
	dataType:"jsonp",
	jsonp:"cb",
	success:function(data){
		console.log(data)
	}
})

四、ajax全局钩子函数

1、ajaxStart()

ajax事件,ajax请求开始时执行

同一作用域下有多个ajax请求时,第一个ajax请求之前触发,且只触发一次

语法:ajaxStart(callback)

  • callback 触发时执行的回调函数

2、ajaxSend()

ajax事件,ajax请求发送之前执行该函数

每一个ajax发送之前都会触发一次(xhr.send()之前触发)

XMLHttpRequest对象和设置作为参数传递给回调函数

3、ajaxSuccess()

监听ajax事件,ajax请求成功时执行函数

每一个ajax请求成功时都会触发

XMLHttpRequest对象和设置作为参数传递给回调函数

4、ajaxError

ajax事件,ajax请求失败执行的函数

每个ajax请求失败都会触发一次该函数

XMLHttpRequest 对象和设置作为参数传递给回调函数。捕捉到的错误可作为最后一个参数传递。

callback 待执行的回调函数:

function (event, XMLHttpRequest, ajaxOptions, thrownError) {
      // thrownError 只有当异常发生时才会被传递
}

5、ajaxComplete

ajax事件,ajax请求完成时执行函数

每个ajax在请求完成后都会触发一次

XMLHttpRequest 对象和设置作为参数传递给回调函数。

6、ajaxStop

ajax事件,ajax请求结束后执行该函数

如果有ajax,只会触发一次

//提前准备钩子函数
$(window).ajaxStart(function(){
	console.log('第一个请求马上开始')
})
$(window).ajaxSend(function(){
	console.log('有一个请求马上发送')
})
$(window).ajaxSuccess(function(){
	console.log('有一个请求成功了')
})
$(window).ajaxErroe(function(){
	console.log('有一个请求失败了')
})
$(window).ajaxComplete(function(){
	console.log('有一个请求完成了')
})
$(window).ajaxStop(function((){
	console.log('所有的请求都结束了')
})

五、serialize()

序列表表格内容为字符串。用于发送ajax请求。

      <form id="login">
            <div><label><input type="text" name="user"></label></div>
            <div><label><input type="password" name="pwd"></label></div>
            <button class="btn">点击提交</button>
      </form>
      <script>
            $(".btn").click(function(e){
                  e.preventDefault();
                  // console.log($("#login").serialize());
                  $.ajax({
                        url:"./xhr.php",
                        type: "POST",
                        dataType: "json",
                        timeout: 3000
                  }).then(data=>console.log(data));
            })
      </script>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值