前台实现:
Html部分: <input type="button" id="btnGet" value="获取数据" /> JS部分: <script src="~/Scripts/jquery-1.8.2.min.js"></script> <script type="text/javascript"> $("#btnGet").click(function () { $.ajax({ type: "get",url: "http://localhost:4815/Home/ProcessCallback",dataType: "jsonp",jsonp: "jsonpcallback",// 指定回调函数,这里名字可以为其他任意你喜欢的,比如callback,不过必须与下一行的GET参数一致 jsonpCallback:"homeCarouse" }); }); function homeCarouse(CarousePic) { alert(CarousePic.Name); alert(CarousePic.Email); } </script>
后台实现(这是写在另一个域下面(端口不通或域名不同)):
public string ProcessCallback() { if (Request.QueryString != null) { string jsonpCallback = Request.QueryString["jsonpcallback"]; ; var user = new { Name = "name1",Email =" email2" }; return jsonpCallback + "(" + new JavaScriptSerializer().Serialize(user) + ")"; } return "error"; }
参考博客:http://www.cnblogs.com/feichexia/archive/2012/12/07/jsonp_and_more.html