Jsonp的用法非常简单,不过需要服务器端和客户端同时支持。
服务器端
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->stringcallback=Request["callback"];
stringresponse=string.Format("\"value1\":\"{0}\",\"value2\":\"{1}\",v1,v2);
stringcall=callback+"({"+response+"})";
Response.Write(call);
stringresponse=string.Format("\"value1\":\"{0}\",\"value2\":\"{1}\",v1,v2);
stringcall=callback+"({"+response+"})";
Response.Write(call);
客户端
这里使用JQ,有下面两种调用方法:
1、使用getJson
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->varurl="xxx.aspx?p1=1&p2=2&callback=?";
jQuery.getJSON(url,function(data){
alert("value1:"+data.value1+"value2:"+data.value2);
});
jQuery.getJSON(url,function(data){
alert("value1:"+data.value1+"value2:"+data.value2);
});
2、使用ajax
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->jQuery.ajax({
type:"get",
url:"xxx.aspx",
dataType:"jsonp",
jsonp:"callback",
data:"p1=1&p2=2&callback=?",
success:function(msg){
alert("value1:"+data.value1+"value2:"+data.value2);
}
});
type:"get",
url:"xxx.aspx",
dataType:"jsonp",
jsonp:"callback",
data:"p1=1&p2=2&callback=?",
success:function(msg){
alert("value1:"+data.value1+"value2:"+data.value2);
}
});
本文介绍了一种跨域请求的方法——JSONP。通过服务器端和客户端的配合,演示了如何使用jQuery进行GET请求来获取跨域数据。文章提供了两种实现方式:使用getJson方法和使用ajax方法。
2815

被折叠的 条评论
为什么被折叠?



