zoukankan      html  css  js  c++  java
  • 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       
  • 相关阅读:
    yum安装报错“rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 1e5e0159”
    EM64T和64位是不是一个概念啊?他们有什么区别啊,怎么区分啊?
    Can't load IA 32-bit .dll on a AMD 64-bit platform
    中间件——Oracle Fusion Middleware
    Does Windows have a limit of 2000 threads per process?
    java8 Lambda Stream操作list,map
    Mybatis优雅存取json字段的解决方案
    网站服务器架构部署方案发展
    springboot flowable Cause: org.xml.sax.SAXParseException; lineNumber: 25; columnNumber: 14; 元素类型为 "include" 的内容必须匹配 "EMPTY"
    java.lang.NoClassDefFoundError: javax/el/ELManager
  • 原文地址:https://www.cnblogs.com/flyfish/p/633999.html
Copyright © 2011-2022 走看看