分享

Jsonp原理实例及MVC使用

 昵称10504424 2013-12-30

最近,由于工作用到了json和jsonp,由于前台是Android的,后台是MVC。一般MVC后台要返回JSON和XML这两种格式,所以选择了JSON。同时,也用到了JSONP,

简单来说,Jsonp的原理就是通过<script>标记引入一个定义好json数据的js,因为<script>标记是不受域名限制的,JSONP是基于JSON的一种形式,可以跨域传输数据。

创建一个员工类

创建一个JsonpResult类,继承了ActionResult。

另外,JavaScriptSerializer序列器要应用System.Web.Extensions的程序集。

MVC后台数据设置:

MVC控制器方法

public ActionResult ShopSetting()
{

Employee e = new Employee();
e.Age = 20;
e.Company = "华为";
e.Conference = "年终大会";
e.Name= "Janekim";
return GetJsonP(e, callback);//调用GetJsonP方法,传参数

}//GetJsonP方法

public ActionResult GetJsonP(object obj,string callback)
{
if (string.IsNullOrEmpty(callback)) callback = "callback";

return new JsonpResult(obj,callback);

}

返回这样的结果:

callback({"Age":20,“Company”:"华为",Conference":"年终大会","Name":"Janekim"})

前台的调用:

function getUserInfo(checkUser) {
$.ajax({
type: "GET",
url: "http://xxx/employee/getjsonp?callback=?",
cache: false,
error: function () {
},
jsonp: "callback",
dataType: "jsonp",
success: function (result) {
checkUser(result);//checkUser是一个处理employee对象的function
}
});
}

如果想看简单实现jsonp格式,请看http://www.cnblogs.com/janekimyan/p/Janekim_Yan.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多