1.脚本文件Jsonp,代码如下:
$(function () { TestJsonP(); function TestJsonP() { var xhrurl = 'http://localhost:43553/test/jsonp'; $.ajax({ // async: false, type: "get", url: xhrurl, dataType: "jsonp", jsonp: "callbackparam", jsonpCallback: "jsonpCallback1", success: function (json) { alert('my age'+json[0].age); }, error: function (e) { alert("error"); } }); } })
2.后台代码如下:
1 public ActionResult Jsonp() 2 { 3 var methond=Request.QueryString["callbackparam"]; 4 return Content(methond + "([ { "age":"18"}])", "application/x-javascript; charset=utf-8"); 5 }
3.调用方式
<script src="~/Scripts/Jsonp.js"></script>
说明:1.jsonp只支持get请求。 如果后台方法限定post请求,将会出现404的错误.
2.Ajax内的success其实就是jsonpCallback1方法,会在请求成功后调用。起初一直以为需要重新定义jsonpCallback1方法,其实不用。