jQuery jsonp在asp.net中跨域访问webservice的问题

Jingewebb 2010-01-13 04:02:04
在网上查了半天,收获不是很大,对其原理理解得不是很好

请各位高手指点,最好给个代码例子
...全文
324 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
snakehedehuang 2011-02-19
  • 打赏
  • 举报
回复
最近都在搞这个问题,希望能有所收获
antony1029 2010-01-14
  • 打赏
  • 举报
回复
JSONP(JSON with Padding)
是一个非官方的协议,它允许在服务器端集成 Script tags 返回至客户端,通过 Javascript callback 的形式实现跨域访问(这仅仅是 JSONP 简单的实现形式)。
说的简单些就是:服务端返回 "js函数名(json对作参数)",然后利用<script type="text/javascript "></script>标签
拼接成<script type="text/javascript ">js函数名(json对作参数)</script>回调客户方法,实现客户端与服务跨域数据传输。
方法一:js实现:

<script type="text/javascript">
function jsonpCallback(result)//回调的方法
{
alert(result.msg);
}
</script>
<script type="text/javascript" src="http://192.168.0.173/passport.ashx?Callback=jsonpCallback"></script><!--Callback为回调的方法-->


方法二:jquery实现:

<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript">
var serverUrl="http://192.168.0.173/passport.ashx?Callback=jsonpCallback"
$(function(){
$.ajax({
type : "GET",
url : serverUrl,
dataType : "jsonp",
jsonp: 'callback'
});
} );
function jsonpCallback(result) //回调的方法
{
alert(result.msg);
}

</script>

asp.net服务端:


Response.Write(string.Format("{0}({'isSucess':'0','msg':'你的来源不正确!'})",Request.QueryString["'callback'"].ToString());//实现"js函数名(json对作参数)"

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧