博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用iQuery的getJSON方法实现跨域
阅读量:5231 次
发布时间:2019-06-14

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

跨域:
为js同源策略的限制,a.com 域名下的js脚本无法操作b.com或是c.a.com域名下的对象。  

 ajax的应用中,由于安全的问题,浏览器默认是不支持js跨域调用的。  

1.主域相同,子域不同,如xxx.aaa.com和yyy.aaa.com  

2.域名相同,端口不同,如xxx.aaa.com:8000和xxx.aaa.com  

3.域名相同,协议不同,如http://www.aaa.com/和https://www.aaa.com/  

4.主机相同,用ip和域名的,http://127.0.0.1/和http://localhost/  

都是会造成跨域的。

 

 

 使用jq的getJSON实现跨域实例

 

 

例如: 调用 http://localhost:3956/text/AJAX.aspx里面的json

 

 

/**/ 

 <script type="text/javascript">

    $("#images").click(
function () {
        
var url = "http://localhost:3956/text/AJAX.aspx?callback=?";
       
        $.getJSON(url, 
function (aa) {
            alert(aa.my_tags);
        
        })
    });
</script>

 

 

 http://localhost:3956/text/AJAX.aspx

 cs页面中

 public string cb;

cb = Context.Request[
"
callback
"];

  

 aspx页面显示

 <%=cb%>({

"my_tags":["美国","成长","魔幻","奇幻","青春","动作","惊悚","内地","悬疑","动画","3D"],"html":"my html","interest_status":"","popular_tags":["美国","爱情","喜剧","同意翻译成炮友","2011","轻喜剧","搞笑","浪漫","生活","剧情"],"tags":[]})  

 

以前不知道直接在aspx页面显示{"my_tags":["美国"]["青春"]["动作"]["惊悚"]}

导致出各种错误 抱 以下错误

 

不知道原因.. 现在知道了...记住所犯之错..加以谨记...

 

原来这个方式的跨域是jsonp跨域..

 

jsonp是先构造一个方法 比如 fun12321312 这个方法会调用你之前写好的回调函数, 把跨域的url 和这个方法名 以 <script src="{你的url}?callback=fun123">方式添加到head中,浏览器是允许这种方式加载js的 加载完成后就调用fun12321312 ()参数就是你原来的json,就达到了返回json一样的效果

 

 此文只是用于记住所犯之错.代码居多..

 

 

 

 

转载于:https://www.cnblogs.com/dugou/archive/2011/12/28/jQuery.html

你可能感兴趣的文章
第三周PSP
查看>>
js获取项目根路径
查看>>
Android之EditText控件
查看>>
远程图片打包下载
查看>>
7-8
查看>>
Kafka 0.8 配置参数解析
查看>>
What is LDAP and its implementation
查看>>
function
查看>>
使用open live writer客户端写博客zz
查看>>
Java程序设计7——面向对象三大特征:封装、继承、多态
查看>>
python之中英文输出对齐
查看>>
javascript
查看>>
HDU 4647 Another Graph Game 想法类
查看>>
WinCE面试经常被问到的问题
查看>>
mysql_real_escape_string 函数
查看>>
关于iOS9 HTTP不能正常使用的解决方法
查看>>
第六周总结
查看>>
转载:MDA的一些资源的连接
查看>>
Python虚拟机中的一般表达式(一)
查看>>
log4net学习
查看>>