-
jsonp
编辑
- jsonp
- JSON with Padding
- 使用
- 这段返回的
目录
比如客户想访问http://www.yiwuku.com/myService.aspx?jsonp=callbackFunction
假设客户期望返回JSON数据:["customername1","customername2"]
那么真正返回到客户端的Script Tags: callbackFunction([“customername1","customername2"])
可能的调用方式:
1
|
<scripttype=
"text/javascript"
src=
"http://www.yiwuku.com/myService.aspx?jsonp=callbackFunction"
></script>
|
2. 在客户端写callbackFunction函数的实现
>
function
CustomerLoaded(result,methodName)
{
var
html=
'<ul>'
;
for
(
i=0;i<result.length;i++)
{
html+=
'<li>'
+result[i]+
'</li>'
;
}
'</ul>'
;
document.getElementById(
'divCustomers'
).innerHTML=html;
}
</script>
|
3. 页面展示
4. 最终Page Code
<!DOCTYPEhtmlPUBLIC
"-//W3C//DTDXHTML1.0Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
>
<head>
<title>TopCustomers
with
Callback</title>
</head>
<body>
<divid=
"divCustomers"
>
</div>
>
onCustomerLoaded(result,methodName){
;
i=0;i<result.length;i++){
;
}
;
).innerHTML=html;
}
</script>
</body>
</html>
|
-
$.getJSON
<script>
$(document).ready(
(){
$.getJSON(
"http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?"
,
(data){
$.each(data.items,
(i,item){
$(
"<img/>"
).attr(
"src"
"#images"
);
if
(i==3)returnfalse;
});
});
});
|
2. $.ajax
$.ajax({
dataType:
'jsonp'
//dostuff
},
这仅仅需要把服务的JSON数据转换成想要的script tags的形式就可以了,格式可以自已定义,毕竟这是个非官方的协议。
可参考:Implement JSONP in your Asp.net Application
Java:
return request.getParameter("jsonpcallback")+"("+JsonString+")";
返回内容像:jsonp1382016430883([{"id":1,"title":"XXXX"},{"id":2,"title":"YYYYY"}])
原文链接:https://www.f2er.com/json/288611.html
猜你在找的Json相关文章 |