关于 JSONP跨域示例

时间:2022-06-16 20:30:04

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方法,其实不用。