使用JSONP来进行mashup
使用JSONP来进行mashup
什么是JSONP?
view sourceprint?
JSONP即JSON with Padding。由于同源策略的限制,XmlHttpRequest只允许请求当前源(域名、协议、端口)的资源。如果要进行跨域请求,我们可以通过使用 html的script标记来进行跨域请求,并在响应中返回要执行的script代码,其中可以直接使用JSON传递javascript对象。这种跨域的通讯方式称为JSONP。
使用jQuery
view sourceprint?
- $.ajax({
- url:'http://api.flickr.com/services/feeds/photos_public.gne?format=json&jsoncallback=?',
- dataType:'jsonp',
- success:function(data){
- console.log(data);
- }
- });
复制代码注意其中的jsoncallback针对不同的服务提供商是变化的。比如推特就是callback~~
使用Dojo
view sourceprint?
- /**
- * @author xing
- */
- dojo.provide("libs.test");
- dojo.require("dojo.io.script");
- dojo.io.script.get({
- url:'http://api.flickr.com/services/feeds/photos_public.gne',
- content:{
- format:'json',
- tags:'cyndi wang'
- },
- callbackParamName:'jsoncallback',
- load:function(data){
- console.log(data);
- }
- });
复制代码使用dojo最方便的就是按需加载吧~callbackParamName替换成服务提供商的约定的函数名称就可以了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论