JSONP 请求数据
作者:佚名 发表时间:2015-07-13 16:12:37

JSONP 方式只能以GET方式请求数据,返回数据类型为JSON格式

客户端代码:

<script type="text/javascript">
    $(function () {
        $.ajax({
            type: "GET",
            cache: false,
            url: "http://192.168.0.158:8030/Home/ResultText",
            data: {  },
            dataType: "jsonp",
            //jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
            jsonpCallback: "ResultContent"//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
        });
    });
    function ResultContent(data) {
        //处理data
        //alert(data);
        var array = new Array();
        $.each(data, function (index, val) {
            array.push(val.Name);
        });
        alert(array.join("-"));
    }
</script>

服务端代码(MVC):

[HttpGet]
        public void ResultText()
        {
            List<Student> list = new List<Student>();
            for (int i = 0; i < 3; i++)
            {
                list.Add(new Student() { Id = i, Name = "测试" + i.ToString() });   
            }
            var ret = JsonConvert.SerializeObject(list);
            //Response.ContentType = "application/json;charset=utf-8";
            string jsonCallBackFunName = Request.Params["callback"].ToString();
            Response.Write(string.Format("{0}({1})", jsonCallBackFunName, ret));
            Response.End();
        }