博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JQuery 的跨域方法 可跨任意网站
阅读量:5974 次
发布时间:2019-06-19

本文共 1133 字,大约阅读时间需要 3 分钟。

因发现有不少博友发园内短信问及JS的跨域问题,我想很多程序员的脑海里面还认为JS是不能跨域的,其实这是一个错误的观点;有很多人在网上找其解决方法,教其用IFRAME去解决的文章很多,真有那么复杂吗?其实很简单的,如果你用JQUERY,一个GETJSON方法就搞定了,而且是一行代码搞定。

下面开始贴出方法。 

        
//
跨域(可跨所有域名)
        $.getJSON(
"
http://user.hnce.com.cn/getregion.aspx?id=0&jsoncallback=?
"
,
function
(json){
         
         
//
要求远程请求页面的数据格式为: ?(json_data)  
         
//
例如:
         
//
?([{"_name":"湖南省","_regionId":134},{"_name":"北京市","_regionId":143}])
         alert(json[
0
]._name);
         });
  

注意,getregion.aspx中,在输出JSON数据时,一定要用Request.QueryString["jsoncallback"],将获取的内容放到返回JSON数据的前面,假设实际获取的值为42342348,那么返回的值就是 42342348([{"_name":"湖南省","_regionId":134},{"_name":"北京市","_regionId":143}])


因为getJSON跨域的原理是把?随机变一个方法名,然后返回执行的,实现跨域响应的目的。

具体getJSON的使用说明,请参考JQUERY手册。

 

下面一个是跨域执行的真实例子:

ExpandedBlockStart.gif
代码
<
script src
=
"
http://common.cnblogs.com/script/jquery.js
"
 type
=
"
text/javascript
"
><
/
script>
<
script type
=
"
text/javascript
"
>
//
跨域(可跨所有域名)
    $.getJSON(
"
http://e.hnce.com.cn/tools/ajax.aspx?jsoncallback=?
"
, { id: 
0
, action: 
'
jobcategoryjson
'
 }, 
function
(json) {
        alert(json[
0
].pid);
        alert(json[
0
].items[
0
]._name);
    }); 
<
/
script>
本文转自远哥博客园博客,原文链接:http://www.cnblogs.com/taven/archive/2010/05/20/1739731.html,如需转载请自行联系原作者
你可能感兴趣的文章
我的人工智能机器人的游戏
查看>>
NSQ端口关系以及注意事项
查看>>
有哪些值得推荐的关于英文词根的好书?
查看>>
Intent-filter匹配规则
查看>>
MD5 加密原理(转)
查看>>
js http 请求 多个相同参数名传值
查看>>
sqlserver数据库三范式的理解
查看>>
Python 进阶_函数式编程
查看>>
手动配置 ESXi 主机挂载 NFS 的最大值
查看>>
数据结构与算法
查看>>
1.2封装数组之添加元素
查看>>
使用react的一点提醒17/10/26
查看>>
一步一步学习SignalR进行实时通信_7_非代理
查看>>
UDP可靠传输那些事(转)
查看>>
在CenOS7.5里安装Redis
查看>>
ionic+angularJS+cordova(FileTransfer)上传图片
查看>>
SNS的盈利模式分析
查看>>
矩阵快速幂模板
查看>>
第六章 :进程
查看>>
ios兼容 iphoneX ios10 ios11
查看>>