AJAX是有很多用处的,在AJAX菜鸟教程中,会给大家介绍AJAX需要掌握的几个功能点:
1. 创建原生Ajax对象
XMLHttpRequest 是 AJAX 的基础,所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象。那么我们下面来创建一个ajax对象
const instance = new XMLHttpRequest();
这样我们就创建了一个用于进行ajax交互的对象。
当然我们这儿提及一下老版本的ie5、ie6的javascript对象都是使用ActiveX来实现的标准,所以没有XMLHttpRequest对象。他们创建一个对象使用这种方式
const instance = new ActiveXObject("Microsoft.XMLHTTP");
其实我们了解一下就行了,这块在你的代码也不用加上了,现在所有的网站应该都放弃了对低版本ie的支持,这个已经退出了历史舞台,了解一下情况即可。
2. Ajax发送请求
首先来看一下XMLHttpRequest如何发送一个请求到服务器
const instance = new XMLHttpRequest();
instance.open(method,url,async);
instance.send();
这里用到了两个方法,第一个open方法其实是配置ajax必要的信息,第二个send才是真正的发起请求到服务器。
3. Ajax通过readyState状态的变化接收服务器响应
当请求被发送到服务器时,我们需要执行一些基于响应的任务,每当 readyState 改变时,就会触发 onreadystatechange 事件,readyState 属性存有 XMLHttpRequest 的状态信息。
4. 进级苦恼之跨域请求
跨域是所有前端都必须去面对的一个棘手的问题,当你去请求其他服务器的资源时,浏览器安全限制会阻止该请求。你的请求不会到底服务器,被浏览器阻止了,这也是遵循了同源策略。
那么如何去解决这个跨域呢,通用的有几种方法,但是核心都是需要服务器去配合处理跨域,前端自己无法处理跨域。
第一个采用JsonP方法,这个方法其实也是需要后台去配合处理,由后台来进行请求,然后将数据拼装在一个json对象返回到前台,然后前台通过callback函数来进行操作。这个也比较繁琐。
第二种就是服务端去放一个跨域文件crossdomain.xml放置到服务器端,然后写上可以跨域的ip地址。
第三种配置反向代理服务器,通过代理服务器我们也其实是代理服务器去请求外围,然后转发到我们的服务器上。这样也可以防止跨域。
以上就是AJAX菜鸟教程中AJAX需要掌握的几个功能点,希望对大家能够有所帮助。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习