zoukankan      html  css  js  c++  java
  • jsonp实现跨域请求

      在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的。但是,在页面上引入不同域上的js脚本文件却是可以的,jsonp正是利用这个特性来实现的。

     $.ajax({
                async: false,
                url: "http://local.temp.uploading.com/GetPicture.ashx?param=5d6c8bcc-7d20-4321-ace9-de73310a3dd5^RENTHOUSEDOCUMENTWITHSIGN",
                type: "GET",
                dataType: 'jsonp',
                //jsonp的值自定义,如果使用jsoncallback,那么服务器端,要返回一个jsoncallback的值对应的对象. 
                jsonp: 'jsonpCallback',
                //要传递的参数,没有传参时,也一定要写上 
                data: null,
                timeout: 5000,
                //返回Json类型 
                contentType: "application/json;utf-8",
                //服务器段返回的对象包含name,data属性. 
                success: function (result) {
                    alert(result.url);
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    alert(textStatus);
                }
            });

     服务器返回

     context.Response.Write(Jsonp(context,
                            ""url":"" + rooturl + Common.GetImagePath(userGuid) + dt.Rows[0]["FileName"]
                            + ".mark.jpg","id":"" + dt.Rows[0]["Id"].ToString() + "","original":"" + rooturl + Common.GetImagePath(userGuid) + dt.Rows[0]["FileName"] + """
                            ));
    				
    
    /// <summary>
            /// 处理Json读取数据.
            /// </summary>
            /// <param name="context">Http对象.</param>
            /// <param name="s">结果值</param>
            /// <returns></returns>
            private string Jsonp(HttpContext context, string s)
            {
                try
                {
                    string ret = context.Request["jsonpCallback"];//jsonpCallback
                    string rs = ret+ "({" + s + "})";
                    return rs;
                }
                catch
                {
                    return "result:true"+",data:""+s+""";
                }
            }
    

      

  • 相关阅读:
    Django中前端界面实现级联查询
    二叉树遍历规则
    计算机组成原理面试总结
    用python介绍4种常用的单链表翻转的方法
    跨域资源共享(CORS)
    python中单例模式的四种实现方式
    算法和数据结构
    手写配置文件实现两套配置文件的切换
    CentOS 7 安装教程
    配置管理系统
  • 原文地址:https://www.cnblogs.com/mongo/p/4434706.html
Copyright © 2011-2022 走看看