Ajax详细获取数据(不会的转行吧!)

1.原生AjaxGET获取

//步骤一:创建异步对象
	var ajax = new XMLHttpRequest();
	//步骤二:设置请求的url参数,参数一是请求的类型,参数二是请求的url,可以带参数,动态的传递参数starName到服务端
	ajax.open('get','路径');
	//步骤三:发送请求
	ajax.send();
	//步骤四:注册事件 onreadystatechange 状态改变就会调用
	ajax.onreadystatechange = function () {
	   if (ajax.readyState==4 &&ajax.status==200) {
	    //步骤五 如果能够进到这个判断 说明 数据 完美的回来了,并且请求的页面是存在的
	    console.log(JSON.parse(ajax.responseText));//输入相应的内容
	    }
	}

2.原生ajaxpost获取

//创建异步对象  
	var xhr = new XMLHttpRequest();
	//设置请求的类型及url
	//post请求一定要添加请求头才行不然会报错
	xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
	 xhr.open('post', '路径' );
	//发送请求
	xhr.send();
	xhr.onreadystatechange = function () {
	    // 这步为判断服务器是否正确响应
	  if (xhr.readyState == 4 && xhr.status == 200) {
	    console.log(xhr.responseText);
	  } 
	};

3.fetch获取数据fetch获取

 fetch('路径').then(i=>{
        i.json().then(data=>{
            console.log(data)
        }).catch(error=>{
            console.log('煮熟的鸟飞了')
        })
    }).catch(error=>{
        console.log('刚开始就错了')
    })

4.Jquery获取数据Jquery获取

 $.ajax({
      type: "POST",//请求方式
      url: "路径",//地址,就是json文件的请求路径
      dataType: "json",//数据类型可以为 text xml json  script  jsonp
      async:false,//默认异步
    success: function(result){//返回的参数就是 action里面所有的有get和set方法的参数
           	console.log(result)
      },
      error:function(err){
      		console.log('请求开始就失败了')
      }
 });

5.axios获取数据axios获取

this.$axios.get('路径').then(res=>{
        //获取请求回来的数据
})

6.PromisePromise获取

function axios(url){
    return new Promise((resolve,reject)=>{
        $.ajax({
            url:url,
            type:'get',
            success:(data)=>{resolve({data})},
            error:(error)=>{
                reject({
                status:400,
                msg:'数据请求失败!!!'
            })
            }
        })
    })
};
axios('./list.json').then(i=>{
    console.log(i)
})

7.分装分装

function ajax_method(url,data,method,success) {
    // 异步对象
    var ajax = new XMLHttpRequest();

    // get 跟post  需要分别写不同的代码
    if (method=='get') {
        // get请求
        if (data) {
            // 如果有值
            url+='?';
            url+=data;
        }else{

        }
        // 设置 方法 以及 url
        ajax.open(method,url);

        // send即可
        ajax.send();
    }else{
        // post请求
        // post请求 url 是不需要改变
        ajax.open(method,url);

        // 需要设置请求报文
        ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded");

        // 判断data send发送数据
        if (data) {
            // 如果有值 从send发送
            ajax.send(data);
        }else{
            // 木有值 直接发送即可
            ajax.send();
        }
    }

    // 注册事件
    ajax.onreadystatechange = function () {
        // 在事件中 获取数据 并修改界面显示
        if (ajax.readyState==4&&ajax.status==200) {
            // console.log(ajax.responseText);

            // 将 数据 让 外面可以使用
            // return ajax.responseText;

            // 当 onreadystatechange 调用时 说明 数据回来了
            // ajax.responseText;

            // 如果说 外面可以传入一个 function 作为参数 success
            success(ajax.responseText);
        }
    }

}
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值