了解什么是ajax

ajax 即 Asynchronous Javascript And XML(异步JavaScript和XML)

ajax是一项创建动态网页的技术,可以快速创建动态网页

ajax 是一门实现数据前后端交互的技术

ajax可以实现不跳转刷新页面(局部刷新页面),异步请求

ajax是依赖浏览器提供的 XMLHttpRequest对象,通过XMLHttpRequest对象使得浏览器可以发出HTTP请求与接收HTTP响应。

使用原生XMLHttpRequest对象

XMLHttpRequest的get请求方式

var xhr = new XMLHttpRequest();                 // 1、创建XMLHttpRequest对象实例 
xhr.open('get','https://suggest.taobao.com/sug?&q=yifu',true);   // 2、发起请求,地址有参数的话需要在url后面拼接参数    
xhr.send();                                     // 3、发送请求主体
			        
xhr.onreadystatechange = function(){            // 4、监听请求和响应的状态(绑定事件)                                   
	if(xhr.readyState == 4){                    // 5、是否请求完成
		if(xhr.status == 200){                  // 6、是否响应成功
			var txt = xhr.responseText;         // 7、记录响应的结果(响应报文)
			console.log(txt);                   //    打印txt  
			var arr = JSON.parse(txt);          // 8、这里获取到的内容是字符串,需要把json格式字符串转json对象(解析json格式字符串)
			console.log(arr);                   //    打印arr  (可以自己对比一下txt与arr的区别)   
		}
	}
}
    

XMLHttpRequest的post请求方式 

var xhr = new XMLHttpRequest();                 // 1、创建XMLHttpRequest对象实例 
xhr.open('post','https://suggest.taobao.com/sug',true);   // 2、发起请求,地址有参数的话需要在url后面拼接参数   
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded')   // 3、设置请求头
xhr.send("?&q=yifu");                           // 4、发送请求主体(post请求参数放在send这里)
			   			        
xhr.onreadystatechange = function(){            // 5、监听请求和响应的状态(绑定事件)                                   
	if(xhr.readyState == 4){                    // 6、是否请求完成
		if(xhr.status == 200){                  // 7、是否响应成功
			var txt = xhr.responseText;         // 8、记录响应的结果(响应报文)
			console.log(txt);                   //    打印txt  
			var arr = JSON.parse(txt);          // 9、这里获取到的内容是字符串,需要把json格式字符串转json对象(解析json格式字符串)
			console.log(arr);                   //    打印arr  (可以自己对比一下txt与arr的区别)   
		}
	}
}

调用ajax

使用jquery 的 ajax(别人封装好的)

jquery是什么? 是js库    

jquery有个叫做ajax的函数,这个函数是实现数据前后端交互的函数,是实现Ajax这项技术的函数   

调用ajax函数    

调用者:$     

参数:对象     

返回值:忽略   

功能:可以向指定的数据地址发起请求,然后接收服务端响应的数据(数据前后端交互)

// 调用ajax函数
        $.ajax({     
			url: "",       // 数据地址(请求地址)
			type: "",      // 请求方式 (get或者post)
            data: {        // (需要阅读接口文档,需填写参数时在此处书写)
                   
                },
            beforeSend: function () {
                console.log("发起请求之前在控制台打印");
                },
			success: function(res) {        // 请求完成并且响应成功执行的回调函数
				var arr = JSON.parse(res);  // 把json格式的字符串处理成json对象
                console.log("请求成功时在控制台打印");
			    },
			error: function(err) {          //请求失败
				console.log("请求失败时在控制台打印");

				// 什么情况下会执行该回调函数?
				// 1. url地址写错,或者其他参数写错
				// 2. 后台发生异常
				// 3. 如果不是跨域的地址,就是打开方式错误
			    }
            complete: function () {
                 console.log("请求完成时在控制台打印");
                }
			})

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐