代码如下 | 复制代码 |
window.demo = { "txt" : "Hello World" } |
这就是所谓的 JSONP,把数据以 JSON 的格式保存在一个对象中,方便我们之后去引用这个对象。
然后,我们就可以用 getScript 的方法去异步加载刚才保存的 JS,并处理返回结果,方法如下:
代码如下 | 复制代码 |
var url = 'http://xxx.xxx/demo.js'; |
保存以上两个文件,在本地运行就能看到效果,当然,不要忘记加载 jQuery。
除了上面实现跨域之外我们还可以实现$.getJSON进行跨域了。
下面开始贴出方法。
//跨域(可跨所有域名)
代码如下 | 复制代码 |
|
注意,getregion.aspx中,在输出JSON数据时,一定要用Request.QueryString["jsoncallback"],将获取的内容放到返回JSON数据的前面,假设实际获取的值为42342348,那么返回的值就是 42342348([{"_name":"湖南省","_regionId":134},{"_name":"北京市","_regionId":143}])
因为getJSON跨域的原理是把?随机变一个方法名,然后返回执行的,实现跨域响应的目的。
具体getJSON的使用说明,请参考JQUERY手册。
浏览器会进行同源检查,这导致了跨域问题,然而这个跨域检查还有一个例外那就是HTML的