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.后台代码如下:
public ActionResult Jsonp()
{
var methond=Request.QueryString["callbackparam"];
return Content(methond + "([ { \"age\":\"18\"}])", "application/x-javascript; charset=utf-8");
}
3.调用方式
<script src="~/Scripts/Jsonp.js"></script>
说明:1.jsonp只支持get请求。 如果后台方法限定post请求,将会出现404的错误.
2.Ajax内的success其实就是jsonpCallback1方法,会在请求成功后调用。起初一直以为需要重新定义jsonpCallback1方法,其实不用。