首页 > 代码库 > Ajax跨域 取值 Jsonp的定义注意事项

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

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