域名地址的组成:
http:// www . abc.com : 8080 / scripts/jquery.js
协议 子域名 主域名 端口号 请求资源地址
何为跨域:::
当协议、子域名、主域名、端口号中任意一个不同时,都算作不同域。不同域之间的相互请求资源,就算作“跨域”。
javascript有同域规则,不允许跨域资源请求。
处理跨域方法一:代理
例如: 通过在同域名的web服务器端创建一个代理:
北京服务器(域名:www.beijing.com)
上海服务器(域名:www.shanghai.com)
比如在北京的web服务器的后台(www.beijing.com/proxy-shanghaiservice.php)来调用上海服务器(www.shanghai.com/service.php),然后再把相应结果返回给前端,这样前端调用北京同域名的服务器就和调用上海的服务效果相同了。
处理跨域方法二:jsonp
局限性:只能处理GET方式
处理跨域方法三:XHR2
H5提供的XMLHttpRequest Level2已经实现了跨域访问以及其他的一些新功能
IE10一下版本不支持,不支持xhr2
在服务端做一些很小的改造:。。。
1.Ajax主要的功能是实现了浏览器端 异步 访问服务器:通过浏览器的XMLHttpRequest对象发出小部分数据,与服务端进行交互,
服务端返回小部分数据,然后更新客户端的部分页面。
2.json是Ajax发送小部分数据的一种轻量级数据格式,可以简单易懂的给服务器或者浏览器交互数据,包括jason对象,jason数组对象。
3.跨域的原理是:协议://子域名.主域名:端口号/服务端地址,除了服务端地址的改变叫做重定向意外,其他几个可变更的参数中任意一个的改变就叫做跨域。