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对作参数)"