ajax跨域处理----PHP跨域多域名同步登录技术前段篇
首先什么是跨域,简单地理解就是因为JavaScript同源策略( Access-Control-Allow-Origin)的限制,a.com 域名下的js无法操作b.com或是c.a.com域名下的对象。更详细的说明可以看下表:
解决跨域访问页面对象的问题有6种方法,详见http://www.cnblogs.com/rainman/archive/2011/02/20/1959325.html。 本文仅介绍JQuery jsonp方法。 Jquery Jsonp
请求字符串中一定要有“callback”的字符串,它定义了处理函数。如果这个值=?,jquery将自动生成一个随机函数。一定要不保证服务器返回的数据型如 callbackname(json)
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://www.geonames.org/postalCodeLookupJSON?postalcode=10504&country=US&callback=?",function(data){ alert(data.postalcodes[0].postalcode); });网上也有人开发了jquery.jsonp插件,大家也可以研究一下。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |