关于 JSONP跨域示例

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

 

posted @ 2016-03-04 11:21  the boy、图样图森破  阅读(198)  评论(0编辑  收藏  举报