zoukankan      html  css  js  c++  java
  • 跨域使用JSONP

    文章目录:

        跨域-知识

        跨域-使用JSONP

        跨域-使用js文件

        跨域-使用window.name

        跨域-使用Proxy page或Cross Frame      


        此为单向跨域。实现方法是域A向域B请求数据,域B生成JSONP的数据给A。我们使用Jquery实现通信。

        实现步骤:

        1、域A前端调用页面

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
        <script src="./js/jquery.1.3.2.js" type="text/javascript"></script>
        <script type="text/javascript">
        
    function getData()
        {
            
    var url = "http://b.5173.com/Default.aspx";  
            $.ajax({  
                    url:url,  
                    dataType:
    "jsonp",  
                    success: 
    function(json){  
                                 alert(json.msg);
                              },  
                    error: 
    function(){
                             alert(
    "error");
                             }  
                   })  
        }
        
    </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <input type="button" value="跨域调用" onclick="getData();"/>
        </form>
    </body>
    </html>

        2、域B主要是生成Jsonp,所以只有后台代码。

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    namespace WebApplication2
    {
        public partial class _Default : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                Response.Charset = "utf-8";
                Response.ContentType = "text/javascript";
                

                string callback = Request.QueryString["callback"];
                string json = "{'state':'0','msg':'hello world!'}";
                string result = string.Format("{0}({1})",callback,json);
                
                
                Response.Write(result);
                Response.Flush();
                Response.End();
                
                
            }
        }
    }

        调用结果: 

    参考文章:http://www.cnblogs.com/hb_cattle/archive/2011/10/27/1713659.html

  • 相关阅读:
    485串口接线
    mvc3 升级mvc5
    VB连接ACCESS数据库,使用 LIKE 通配符问题
    VB6 读写西门子PLC
    可用的 .net core 支持 RSA 私钥加密工具类
    解决 Win7 远程桌面 已停止工作的问题
    解决 WinForm 重写 CreateParams 隐藏窗口以后的显示问题
    解决安装 .net framework 发生 extracting files error 问题
    CentOS7 安装配置笔记
    通过特殊处理 Resize 事件解决 WinForm 加载时闪烁问题的一个方法
  • 原文地址:https://www.cnblogs.com/scottckt/p/2246557.html
Copyright © 2011-2022 走看看