什么是Ajax:一种不用刷新整个页面便可与服务器通讯的技术
知识点
1. XMLHttpRequest
var xhr = new XMLHttpRequest() xhr.open('GET','/api',false) xhr.onreadystatechange = function(){ if(xhr.readyState == 4){//响应内容解析完成,客户端可以调用 if(xhr.status == 200){ console.log(xhr.requestText) } } } xhr.send(null)
2. 状态码
3. 跨域
什么是跨域
- 浏览器有同源策略,不允许ajax访问其它域接口
- 跨域条件:协议、域名、端口,有一个不同即为跨域
可以跨域的标签
- <img src=xxx>
- <link href=xxx>
- <script src=xxx>
跨域的几种方式
1. JSONP
实现原理
同理,你要跨域访问某网站的接口
<script> window.callback = function(data){ //这是我们得到的跨域信息 console.log(data) } <script src="http://someone.xx.com/api.js"> //以上将返回 callback({...}),然后被浏览器调用
2. 服务器端设置 http header