HttpClient与JsonP针对跨域的问题
来源:互联网 发布:手绘sai软件打不开 编辑:程序博客网 时间:2024/06/06 14:31
近期开发过程中遇到了跨域的问题,趁着空暇时间,做一下消化整理,希望能够掌握这方面的知识,也希望能得到大众的指点。
在理解跨域之前,要弄懂一点,究竟什么会导致跨域,以前认为,在一个域名的系统中去访问另一个域名的系统就是跨域,这是错误的,跨域不仅仅是打开另一个域名的网站而已,而是去操作,去操作另一个域名系统的内容,才会导致跨域,比如在本系统中,去增加另一个域名下系统的一条数据,或者取出一条记录,这才是跨域,单纯的一个链接,上面写着另一个域名的地址,那不叫跨域,而是打开。
跨域分为一级跨域和二级跨域,如果是例如aaa.xxx.com与bbb.xxx.com就是二级跨域,xxx.aaa.com与xxx.bbb.com就是一级跨域;
HttpClient与JsonP能够轻易的解决跨域问题,从而得到自己想要的数据,唯一的不同点是,HttpClient是在java代码中进行跨域访问,而JsonP是在js中进行跨域访问,在此,我们团队对HttpClient进行了再一次的封装,从而进行方便的使用,可以通过org.apache.commons.httpclient源码包进行分析学习。
public static Document mycoll(String page,String rows,String userEname,String title,String sysname,String objtype,String objid) { String url = PropertyUtil.getValueByProperty("webservice_chat_url"); String sysid = PropertyUtil.getValueByProperty("sysid"); String split = getSplit(url); String serverName = url + split + "web/mycoll"; NameValuePair[] paras = new NameValuePair[8]; paras[0] = new NameValuePair("page", StrUtil.doNull(page, "")); paras[1] = new NameValuePair("rows", StrUtil.doNull(rows, "")); paras[2] = new NameValuePair("userEname", StrUtil.doNull(userEname, "")); paras[3] = new NameValuePair("title", StrUtil.doNull(title, "")); paras[4] = new NameValuePair("sysname", StrUtil.doNull(sysname, "")); paras[5] = new NameValuePair("objtype", StrUtil.doNull(objtype, "")); paras[6] = new NameValuePair("objid", StrUtil.doNull(objid, "")); paras[7] = new NameValuePair("sysid", StrUtil.doNull(sysid, "")); Document doc = PostHttp.postHttpDocument(serverName, paras); return doc; }
后台返回XML数据。
- <script type="text/javascript" src="jquery.js"></script>
- <script type="text/javascript">
- $.ajax({
- url:"http://crossdomain.com/services.php",
- dataType:'jsonp',
- data:'',
- jsonp:'callback',
- success:function(result) {
- for(var i in result) {
- alert(i+":"+result[i]);//循环输出a:1,b:2,etc.
- }
- },
- timeout:3000
- });
- </script>
0 0
- HttpClient与JsonP针对跨域的问题
- HttpClient与JsonP针对跨域的问题
- 跨域问题httpclient和jsonp
- Jsonp和HttpClient跨域请求
- 谈谈json和jsonp和jsonp的跨域问题。
- JSONP的问题与解决
- jsonp 跨域问题
- jsonp 跨域问题
- jsonp跨域问题
- JSONP跨域问题
- 跨域问题之jsonp的实现
- jsonp的解决ajax跨域问题
- 12.跨域问题的解决JSONP
- JSONP与跨域的Ajax
- 跨域问题解决方案(HttpClient安全跨域 & jsonp跨域)
- 跨域问题解决方案(HttpClient安全跨域 & jsonp跨域)
- 跨域问题解决方案(HttpClient安全跨域 & jsonp跨域)
- 跨域问题解决方案(HttpClient安全跨域 & jsonp跨域)
- Sticky Listview Headers,分组title可固定可移动(仿iphone风格)
- javascript对象;jquery对象;DOM对象
- 决策树模型组合之随机森林与GBDT
- 第16周项目4-多科成绩(完善)
- 关于网站建设完成后的网站优化发展
- HttpClient与JsonP针对跨域的问题
- Android 如何永久性开启adb 的root权限 M
- iOS 画线 绘制直线、矩形、三角形
- 新手开发IOS的疑惑
- Linux学习之CentOS(二十九)--Linux网卡高级命令、IP别名及多网卡绑定
- 实例方法和类方法
- 悦游网络加速器2013V0.11国际版 官方软件下载
- 解决USB root hub黄叹号的问题
- MTK Android 之MT6577驱动笔记