json与jsonp
2014-01-28 15:36
169 查看
最近需要写jsonp提供服务回调,于是仔细研究了一下json与jsonp,简单总结如下:
1、json是一种数据格式,而jsonp是一种数据交换协议,二者没有本质联系。只不过jsonp以callback(data);的方式返回数据时,data的数据格式一般是json格式的。
2、jsonp是为了来解决跨域数据交互使用的达成一致默契的非官方的协议。
3、jsonp的使用如下:
1)服务端提供接收的服务,返回callback(data);格式。
例如服务端提供url:http://xxxxxxxxxxxxxxx?jsonp=callback
该url返回json数据,callback({"name":"color","sex":"男"});
2)客户端引入服务端的服务地址,带上callback参数。
例如客户端引用服务端的地址:<script type="text/javascript" src="http://xxxxxxxxxxx?jsonp=callback" />
然后定义callback的脚本方法:
function callback(data){
alert(data.name);
}
即可将color显示出来。
4、ajax和jquery都对jsonp进行了支持。
1)ajax的写法:
$.ajax({
dataType: 'jsonp',
data: xxx
jsonp: 'jsonp_callback',
url: xxx
success: function () {
......
},
});
2)jquery的写法:
$.getJSON("http://xxxxxxxx?jsoncallback=?",
function(data){
$.each(data, function(i,n){
......
});
}
);
jsoncallback=?,其中?会自动替换为function(data)函数。
1、json是一种数据格式,而jsonp是一种数据交换协议,二者没有本质联系。只不过jsonp以callback(data);的方式返回数据时,data的数据格式一般是json格式的。
2、jsonp是为了来解决跨域数据交互使用的达成一致默契的非官方的协议。
3、jsonp的使用如下:
1)服务端提供接收的服务,返回callback(data);格式。
例如服务端提供url:http://xxxxxxxxxxxxxxx?jsonp=callback
该url返回json数据,callback({"name":"color","sex":"男"});
2)客户端引入服务端的服务地址,带上callback参数。
例如客户端引用服务端的地址:<script type="text/javascript" src="http://xxxxxxxxxxx?jsonp=callback" />
然后定义callback的脚本方法:
function callback(data){
alert(data.name);
}
即可将color显示出来。
4、ajax和jquery都对jsonp进行了支持。
1)ajax的写法:
$.ajax({
dataType: 'jsonp',
data: xxx
jsonp: 'jsonp_callback',
url: xxx
success: function () {
......
},
});
2)jquery的写法:
$.getJSON("http://xxxxxxxx?jsoncallback=?",
function(data){
$.each(data, function(i,n){
......
});
}
);
jsoncallback=?,其中?会自动替换为function(data)函数。
相关文章推荐
- 什么是jsonp协议?json和jsonp的区别
- 说说JSON和JSONP,原来ajax引用这个来实现跨域访问的
- js的json、jsonp、ajax
- AJAX 跨域请求 - JSONP获取JSON数据
- JSON和JSONP
- 说说JSON和JSONP,也许你会豁然开朗
- 浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
- 说说JSON和JSONP,也许你会豁然开朗,含jQuery用例
- JSON和JSONP
- JSON和JSONP
- JSONP JSON CORS
- JSON与JSONP
- 说说JSON和JSONP
- 通过jsonp获取json数据实现AJAX跨域请求
- JSON和JSONP,跨区 AJAX获取值
- jsonp及json数据的应用
- Json与Jsonp
- 浅谈JSON和JSONP的区别
- 说说JSON和JSONP,也许你会豁然开朗,含jQuery用例
- jq的getJSON 怎么做jsonp