• ajax 跨域访问解决方案


    ajax --- 跨域访问解决方案

    所谓跨域就是不同域名之间交换数据:如a.com要获取b.com中的数据,在ajax的客户端如果要实现跨域访问时,IE为弹出一个警告框.
    上网找了好多AJAX跨域方面的解决方案..可找来找去基本上都是ASP和JSP的内容..就是没有.NET方面的.气sa偶了...
    问QQ群内的群友.也无人答.好不容易有人回答了.却让我想了半天.想不出所以然来,引用他的话就是:用代理服务器访问非本域的内容
    主要是这个代理服务器让我想了半天.还以为是在IE工具菜单栏中设立代理.总之一句话.没搞定.
    呵呵..还是按自己的方法来理解吧..嗯..所谓:用代理服务器访问非本域的内容,我的理解就是本域中的ASPX页面.或是把它称为代理页面也可以..
    原理就是客户端访问本地的ASPX页面.由它来到得远程服务器上的数据,再返回给客户端.
    解决方案一:当然是用webServices了..不过这个要知道对方的接口.及一些密钥.所以这个方案偶就没法试了.
    方案二:此方案感觉不是很好.不过这是我在网上找不到解决方案时写出来的.呵呵..实在是被逼无奈..
             代码如下:
            WebRequest ObjWebrt = WebRequest.Create(url);  // url 为远端另一个域名的地址
            WebResponse ObjWebre = ObjWebrt.GetResponse();
            Stream ObjStream = ObjWebre.GetResponseStream();
            StringBuilder sb = new StringBuilder();
            StreamReader r = new StreamReader(ObjStream, System.Text.Encoding.GetEncoding("utf-8"), false, 1000);
            string line;
            while ((line = r.ReadLine()) != null)
            {
                sb.Append(line);
            }
            Response.Write(sb.ToString());
    方案三:呵呵..本人认为是最好的.不过这个也是偶历尽千辛万苦还没找到.却是我同事找到的.呵呵..真是惭愧,方法如下
             主要还是利用XMLHTTP来实现..这个当初偶在看ASP跨域中就已经看到了..只是一直没办法应用到.NET当中.呵呵..闲话少说.先看代码:
            MSXML2.XMLHTTP xmlhttp = new MSXML2.XMLHTTP();
            xmlhttp.open("GET", url, false, null, null);
            xmlhttp.send(null);
            string strSource = xmlhttp.responseText;
            Response.Write(strSource);        
            怎么样..是够简单吧..这个很像客户端的XMLHttpRequest,不过在服务器端要用到时.必须先引用.
            在电脑中搜索:MSXML2.dll 文件.然后引用到项目中.在开始编码时再来一句:using MSXML2; 呵呵.一却搞定.



    解决xmlhttp的跨域访问权限
    http://hi.baidu.com/clazy/blog/item/32330c9528199e087bf480fc.html       
  • 相关阅读:
    [LeetCode] Strobogrammatic Number III
    [LeetCode] Strobogrammatic Number II
    [Codeforces 1253E] Antenna Coverage
    [CodeForces 466C] Number of Ways
    UVa 806 四分树
    Uva 1572 自组合
    UVa Sculpture(离散化 floodfill)
    Uva 4916 Selling Cells(随机算法)
    UvaLive 4863 Balloons(贪心)
    UvaLive 4872 Underground Cables (最小生成树)
  • 原文地址:https://www.cnblogs.com/flyfish/p/633999.html
Copyright © 2020-2023  润新知