Ajax跨域 取值 Jsonp的定义注意事项

今天要做一个去之前的项目上取数据,打算建一个接口,WebServer。中间遇到了一些问题。就是跨域取值的问题

 客户端页面

1.首先Ajax请求的DataTy:'jsonp'这种格式,还要加一个 jsonp: "callback",最为主要的是有一个 回调函数Callback(),可把我折腾坏了。直接上客户端代码:

<script type="text/javascript">
        $(function () {
            $.ajax({
                type: "GET",
                url: "http://localhost:48748/WebService1.asmx/GetGrid",
                data: "",
                dataType: "jsonp",
                jsonp: "callback",
                success: function(data) {                   
                    callback(data);
                },
                error: function (error) {
                    console.log(error);
                }
            })
        })
        function callback(data) {          
                alert(data.rows[0].Name);
             }
    </script>

 后台代码。

 2.采用的webserver 服务器,具体配置就不多说了,今天的主题是跨域访问json数据,需要注意的问题就是前面提到的,需要用一个CallBack回调函数,要有一定的格式。请看代码:

[WebMethod]
        public void GetGrid()
        {
            List<Notice> list = new List<Notice>();
            list.Add(new Notice { Id=1,Name="xiaoming"});
            JavaScriptSerializer json = new JavaScriptSerializer();
            var grid = new { rows = list };
            Context.Response.Write("callback("+json.Serialize(grid)+")");
        }

这点东西搞了一天,    写于:2015年1月27日01:06:09

原文地址:https://www.cnblogs.com/tong775131501/p/4251776.html