首页 > Web开发 > 详细

ajax 跨域

时间:2018-11-29 11:36:19      阅读:133      评论:0      收藏:0      [点我收藏+]

一个一般处理程序服务端

返回的数据是json

 public void ProcessRequest(HttpContext context)
        {
            citys c = new citys();
            c.age = "12";
            c.city = "bj";
            c.hosst = "www.baidu.com";
            c.name = "张三";
            c.weather = "天气";
string cc = JsonConvert.SerializeObject(c); context.Response.ContentType = "text/plain"; context.Response.Write( cc ); }

 

这个一般处理程序返回jsonp

 public void ProcessRequest(HttpContext context)
        {
            citys c = new citys();
            c.age = "12";
            c.city = "bj";
            c.hosst = "www.baidu.com";
            c.name = "张三";
            c.weather = "天气";
            string cc = JsonConvert.SerializeObject(c);
            context.Response.ContentType = "text/plain";
            string callbackFunName = context.Request["callback"];
            context.Response.Write(callbackFunName + "([" + cc + "])");
        }

可以看出jsonp是包裹着json这样理解

 json:cc

jsonp:callbackFunName(cc)

下面是客户端的请求

 $("#aaa").click(function () {
                $.ajax({
                    type: "get",
                    async: false,
                    url: "http://www.server.com/handler1.ashx",
                    dataType: "jsonp",
                    jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
                    jsonpCallback: "success_jsonpCallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
                    success: function (data) {
                        alert(data);
                        alert(data[0].name);
                    },
                    error: function () {
                        alert(‘fail‘);
                    }
                });
            });

  

ajax 跨域

原文:https://www.cnblogs.com/dcrBook/p/10037075.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!