zoukankan      html  css  js  c++  java
  • javascript 跨域问题 jsonp

    转载:http://www.cnblogs.com/choon/p/5393682.html

    demo 

       用动态创建<script></script>节点的方式实现了跨域HTTP请求,给<script>标签的src属性中的URL添加一个参数来指定回调函数的名称

    服务端:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
     
        // 前端指定的回调函数名称
        var callbackFuncName = context.Request.QueryString["callback"];
        var responseData = "Hello World";
        // 回调脚本,形如:handler('responseData');
        var scriptContent = string.Format("{0}('{1}');", callbackFuncName, responseData);
        context.Response.Write(scriptContent);
    }

    Web客户端:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>jsonp demo</title>
        <script type="text/javascript">
            // 跨域发送HTTP请求,从服务端获取字符串"Hello World"
            function getHello() {
                var script = document.createElement('script');
                script.setAttribute('src', 'http://localhost:8546/Service.ashx?callback=handler');//callback指定回调函数名称
                document.querySelector("head").appendChild(script);
            }
            // 处理函数
            function handler(data) {
                alert(data);
                // our code here...
            }
        </script>
     
    </head>
    <body>
        <input type="button" value="发送跨域HTTP请求,获取Hello World" onclick="getHello()" />
    </body>
    </html>
  • 相关阅读:
    MSI文件静默安装
    C#文本文件或其他文件新内容追加
    VS2015在线安装包
    Hive创建表时添加中文注释后乱码问题
    scala获取字符串首字符和尾字符
    kafka topic常用命令
    supervisord实例配置
    pandas写数据进入数据库
    supervisord初体验
    python3 安装impyla相关的包
  • 原文地址:https://www.cnblogs.com/guangzhou11/p/8613532.html
Copyright © 2011-2022 走看看