ajax的兼容问题

在实际的开发中可能要遇到兼容IE 6 7 8浏览器

	 我们的ajax对象有两个地方不兼容
	 **1 创建ajax对象的时候不兼容**
	 new XMLHttpRequest() ==>这是标准的浏览器使用的
	 new ActiveXObject('Micorsoft.XMlHTTP')    ==>IE 低版本使用的
	 
	 **2 接受响应的不兼容**
	  标准的浏览器 ==》onload 事件
	  IE 低版本 没有onload 事件,
	  IE低版本只有onreadystatechange方法
	  如果IE低版本接受相应,只能使用这个onreadystatechange事件
	 
	**3 IE的问题**
	
		创建ajax对象这个事情
		必须是真是的IE6 7 8浏览器才可以
		如果使用的是IE 11浏览器的模拟器,但是浏览器的内核依旧是IE11的内核,那我们看不出来他能不能用
	
	<script type="text/javascript">
		**// 1 创建ajax对象**
		// 标准浏览器 var xhr=new XMLHttpRequest()
		// 低版本的   var xhr=new ActiveXObject('Micorsoft.XMlHTTP')
		
		let url=''
		var xhr=new XMLHttpRequest()
		**// 2 配置请求信息**
		xhr.open('get',url)
		
		**// 3 接受响应**
		// 兼容iE的 高版本就自然会接受
		xhr.onreadystatechange=function(){
			// 在这里判断ajax的状态码是否执行成功
		// 还要判断ajax 的状态码是成功还是失败200-299
			if(xhr.readyState===4&&/^2\d{2}$/.text(xhr.status)){
				// if(xhr.readyState===4&&(xhr.status<=299&&xhr.status>=200))
				console.log('打印4?')
				console.log(status)
				console.log(xhr.responseText)
			}
		}
		**// 4 发送请求**
		xhr.send()
		
	</script>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章