php跨域同步登录,ajax跨域处理----PHP跨域多域名同步登录技术前段篇

本文详细介绍了JavaScript的同源策略以及它如何限制跨域通信。通过实例展示了jQuery的$.ajax和getJSON方法以及jsonp技术如何实现跨域请求。同时提到了jQuery.jsonp插件作为额外的解决方案。文章还提供了多个跨域通信的示例,帮助读者深入理解这一概念。
摘要由CSDN通过智能技术生成

首先什么是跨域,简单地理解就是因为JavaScript同源策略的限制,a.com 域名下的js无法操作b.com或是c.a.com域名下的对象。更详细的说明可以看下表:

URL

说明

是否允许通信

http://www.a.com/a.js

http://www.a.com/b.js

同一域名下

允许

http://www.a.com/lab/a.js

http://www.a.com/script/b.js

同一域名下不同文件夹

允许

http://www.a.com:8000/a.js

http://www.a.com/b.js

同一域名,不同端口

不允许

http://www.a.com/a.js

https://www.a.com/b.js

同一域名,不同协议

不允许

http://www.a.com/a.js

http://70.32.92.74/b.js

域名和域名对应ip

不允许

http://www.a.com/a.js

http://script.a.com/b.js

主域相同,子域不同

不允许

http://www.a.com/a.js

http://a.com/b.js

同一域名,不同二级域名(同上)

不允许(cookie这种情况下也不允许访问)

http://www.cnblogs.com/a.js

http://www.a.com/b.js

不同域名

不允许

Jquery Jsonp

jQuery.ajax方法:

jQuery(document).ready(function(){

$.ajax({

type: "get",

async: false,

url: "http://www.geonames.org/postalCodeLookupJSON?postalcode=10504&country=US&callback=?",

dataType: "jsonp",

jsonp: "callbackparam",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)

jsonpCallback: "success_jsonpCallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名

success: function(json){

$("body").append(json.postalcodes[0].adminCode2);

},

error: function(){

alert('failed');

}

});

});

Jquery.getJSON方法:

jQuery.getJSON("http://local.yahooapis.com/LocalSearchService/V3/localSearch?appid=YahooDemo&query=pizza%20&zip=10504&results=2&output=json", function(data){

alert("Symbol: " + data.ResultSet.totalResultsAvailable);

$("body").append(data.ResultSet.totalResultsAvailable);

});

网上也有人开发了jquery.jsonp插件,大家也可以研究一下。

参考文献:

1, Cross-domain communications with JSONP, Part 1: Combine JSONP and jQuery to quickly build powerful mashups

2, JQuery.ajax

http://api.jquery.com/jQuery.ajax/

3,  JQuery.getJSON

4, JavaScript跨域总结与解决办法

http://www.cnblogs.com/rainman/archive/2011/02/20/1959325.html

5, 跨域请求之jQuery的ajax jsonp的使用解惑

http://www.cnblogs.com/know/archive/2011/10/09/2204005.html

6,  JavaScript: Use a Web Proxy for Cross-Domain XMLHttpRequest Calls

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值