1.说明
dataType:返回的数据类型
jsonp:传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
jsonpCallback:自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据
success:调用成功执行的函数
error:异常处理函数,此处异常只能捕捉客户端异常,但不能捕捉服务器端异常
2.实例一
客户端代码
/* * JSONP 数据格式传输支持跨域,且浏览器兼容,但是只支持Get方式请求 * */ $.ajax({ url: 'http://localhost:56088/jsonpone/TestOne', data: {}, dataType: 'jsonp', success: function (data) { console.info(data); alert(data.name); }, error: function (xhr, status) { alert(status); } });
服务代码MVC:
public ActionResult TestOne() { string callback = Request.QueryString["callback"]; string json = "{'name':'张三','age':'20'}"; string result = string.Format("{0}({1})", callback, json); return Content(result); }
请求参数:
服务器相应结果:
3.实例2,带参数请求
客户端代码:
$.ajax({ type: "post", url: 'http://localhost:56088/jsonpone/TestTwo', data: { name: '张三' }, dataType: 'jsonp', success: function (data) { console.info(data); alert(data.name); }, error: function (xhr, status) { alert(status); } });
服务端代码:
public string TestTwo(string name) { object person = new { name = name, age = 101 }; string callback = Request.QueryString["callback"]; string json = person.ToJsonString(); return string.Format("{0}({1})", callback, json); }
请求参数:
相应结果: