ajax,json学习笔记(四)跨域
来源:互联网 发布:mac book pro 2015 编辑:程序博客网 时间:2024/05/29 04:33
1、域名
域名的组成:http:// www . abc.com : 8080 / scripts/jquery.js协议 子域名 主域名 端口号 请求资源路径
当协议、子域名、主域名、端口号中的任意一个不相同,都算作不同域
不同域之间相互请求资源,就算作‘跨域’
比如 http://www.abc.com/index.html 请求 http://www.efg.com/service.php
localhost和127.0.0.1也不是一个域名
例子:已拦截跨源请求:同源策略禁止读取位于 http://127.0.0.1:8080/MyFirstSSM/jQUeryTest 的远程资源
2、跨域
JavaScript处于安全方面的考虑,不允许跨域调用其他页面的对象,其实就是因为浏览器同源策略的限制a.com域名下的js无法操作b.com域名下的对象
3、处理方法一——代理
在同域名的web服务器端创建一个代理在后端创建一个代理请求b处的资源,再返回到a处的前端
4、处理方法二——JSONP
JSONP 可用于解决主流浏览器的跨域数据访问的问题,只能处理get请求例子
在www.aaa.com页面中;声明
<script>
function jsonp(){
alert(json["name"])'
}
</script>
<script src="http://www.bbb.com/jsonp.js"></script>
在www.bbb.com中;调用
jsonp({'name':'洪七','age':24})
通过script的跨域载入另外一个域名的js
jQuery的ajax本身支持JSONP的跨域处理
前端改造:ajax中 dataType:'jsonp',
jsonp:'callback',//任意值
后台改造:java中 // 获取jsonp
String Jsonp = request.getParameter("callback");
// 把jsonp和要返回的数据拼接就好了
String data = Jsonp+"("+jsonResult+")"
实际上传递过去的jsonp是jQuery1113037598283385923337_1510404839158
最终得到的是jQuery1113037598283385923337_1510404839158([{"id":1,"name":"category1"}])
但是只能处理get请求,就算写成post最终为get请求
5、处理方法三——XHR2
HTML5提供的XMLHttpRequest level2 实现了跨域访问异界其他功能,IE10以下不支持在服务端改造即可
response.setHeader("Access-Control-Allow-Origin", "*");//*所有域名都能访问
response.setHeader("Access-Control-Allow-Methods", "POST,GET");
阅读全文
0 0
- ajax,json学习笔记(四)跨域
- JSON学习笔记(四)- JSON.parse()
- Ajax、json学习笔记
- ajax&&json学习笔记
- ajax(json)学习笔记
- Ajax学习笔记(四)
- ajax,json学习笔记(五)总结
- AJAX IN ACTION 学习笔记(四)
- jQuery学习笔记四(jQuery - AJAX)
- ajax,json学习笔记(一)ajax,http简介
- json,jsonp,ajax学习笔记
- [ajax 学习笔记] json数据格式
- ajax,json学习笔记(三)JSON和jquery实现ajax
- jquery+ajax+json+asp.net学习笔记(一)
- jquery+ajax+json+asp.net学习笔记(二)
- AJAX学习笔记(五)——JSON格式
- ajax,json学习笔记(二)XMLHttpRequest对象
- Docker学习笔记(四)-fixbug1-daemon.json
- Git版本管理--基础操作
- 1082字符串
- synchronize关键字互斥
- Nginx指定用户
- 第十周
- ajax,json学习笔记(四)跨域
- fzu 2238 Daxia & Wzc's problem
- 1095求和问题
- Android实现密码隐藏显示
- xgboost 相比GBDT有什么区别
- 线性回归
- HBase 部分表无法写入数据的异常处理
- easyui 如何同时左右显示两个datagrid
- 21. Python脚本学习笔记二十一图形化界面