jQuery中的Ajax

//底层函数:$.ajax(url,data,callback);
$.ajax({
    url:"login.php",
    type:"post",  //默认get方式
    date:{username:"admin",password:"123456"},//请求参数
    content-Type:"application/x-www-form-urlencoded",//默认
    dataType:"json",  //响应体的类型,不管服务器设置content-Type是什么类型,强制json类型显示
    beforeSend:function(){
        console.log("请求发起之前触发==>状态码为0时的状态");
    },
    success:function(res){  
        console.log(res);//响应体
    },
    error:function(){
        console.log("错误提示");
    },
    complete:function(){
        console.log("请求完成触发==>不管成功与否");
    }
});

jQuery中快捷方法

1、$.get(url,data,callback); 

2、$.post(url,data,callback);

//$.get()方法:
$.get("time.php",function(res){
    console.log(res);
});

//$.post()方法:
$.post("login.php",{username:"admin",password:"123456"},function(res){
    console.log(res);
});

1和2是常用方式,如果后台数据没有设置content-Type,默认响应体中是字符串格式,如果设置了,则接收的是对象类型

1和2 中的 callback 只有在状态为200 时才执行

$.getJSON(url,data,callback);  // 把get方式中响应体字符串类型改为json格式

3、$.load(url,data,callback);  // 实现局部刷新

常用的只传入第一个参数:在指定标签中载入另一个地址中的标签中的内容

$("#main").load(url,"#main>*");   //在当前页面 id=main的标签中载入指定url 地址中的 id=main 里面的所有内容(* 表示所有内容)

jQuery全局事件处理函数

Ajax请求发生时:$(document).ajaxStart();

Ajax请求结束时:$(document).ajaxStop();

//解决$.get 和 $post 方法,无法在页面架加载时的提示信息
$(document).ajaxStart(function(){
  $("#loading").fadeIn();  //Ajax发生请求时,弹出遮罩层,提示正在加载中
  console.log("Ajax发生请求时就执行");
});
$(document).ajaxStop(function(){
  $("#loading").fadeOut(); //Ajax请求结束时,关闭遮罩层
  console.log("ajax 请求结束时执行");
});

 

posted @ 2020-04-06 17:57  晴天宝宝i  阅读(157)  评论(0编辑  收藏  举报