读书人

怎么解决AJAX跨域的有关问题?(跨域Co

发布时间: 2012-03-09 16:54:57 作者: rapoo

如何解决AJAX跨域的问题?(跨域Cookie读取)
之前发了一个贴,http://topic.csdn.net/u/20091214/09/2ddb3ead-2891-4c6d-93bf-ae2110b4b109.html
我要做的是一个跨域的读取Cookie的操作,www.bbb.com\test2.aspx调用www.aaa.com\的test1.aspx返回www.aaa.com的Cookie.
本是想用GetResponse()来做,但后来发现这样取得的Cookie是null.
所以只能在页面用AJAX的方式来调用。但写完后出现了AJAX跨域无法访问的问题。
希望大家帮助解决一下。代码如下:
www.aaa.com\test1.aspx.cs:

C# code
 protected void Page_Load(object sender, EventArgs e)    {                     HttpCookie cookie = Request.Cookies["hello"];        if ((cookie != null))        {            Label1.Text = cookie.Value;            TextBox1.Text = cookie.Value;            //Response.ContentType = "text/HTML";            Response.Write(cookie.Value);            Response.End();        }        else        {            Response.Write("no Cookie");            Response.End();        }    }


www.aaa.com\test2.aspx:
JScript code
    <script language="JavaScript">            var xmlHttp ;         function createXMLHttpRequest()         {             if(window.ActiveXObject)             {                 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");             }             else if(window.XMLHttpRequest) {                 xmlHttp = new XMLHttpRequest();             }         }                function doPostBack()         {           var url = "http://www.aaa.com/test1.aspx";                   createXMLHttpRequest() ;             xmlHttp.open("GET",url,true);                                    xmlHttp.onReadyStatechange = showCallBack;                           xmlHttp.send(null);         }         //回调函数         function showCallBack()         {             if(xmlHttp.readyState==4)             {                        if(xmlHttp.status==200) {                    success();                 }             }         }         //解析xml         function  success()         {             var responseXml;             responseXml = xmlHttp.responseXML;                      var text= xmlHttp.responseText;                 if(text!=null&&text.length>0)             {                alert(text);            }             else             {                 info = xmlHttp.responseText;                 alert(info);             }         }     </script> 



[解决办法]
帮顶学习
[解决办法]
本地做个代理或者用jquery.的$.getjson(),可以解决ajax跨越.
[解决办法]
学习了 。。。来看看
[解决办法]
楼主,试试这个~
<script type="text/javascript" src="www.aaa.com\test1.aspx"> </script>
[解决办法]
这个似乎和单点登录很像。
不过单点登录是写cookie
你这个是读cookie
我还没见到可以跨域读取cookie的法子
期待高人的解决。

[解决办法]
帮顶。
[解决办法]
你跨域把cookies存进来, 你在你原来网站就可以正常读取这个cookie了 !
[解决办法]
你把电脑中的cookie 都删除了. 然后 再执行一下 ,找到你这个网站的cookie, 看有没写到文件里面去.
我以前测试的时候是成功的.
cookie.Domain = ".test2.com";
这句要加上去的. 这是指定域名下生成cookie
------解决方案--------------------


C# code
Response.AddHeader("P3P", "CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"); Response.Cookies["hello"].Path = "/";  Response.Cookies["hello"].Domain = ".test2.com";                         Response.Cookies["hello"].Expires = DateTime.Now.AddDays(10); Response.Cookies["hello"].Value = UrlFrom.ToString();
[解决办法]
楼上的.都说了能写不能读了. 楼主要的是跨越读Cookie.

[解决办法]
xuexi
[解决办法]
楼主试试~~
http://blog.csdn.net/sweetsoft/archive/2006/02/05/592408.aspx
那个仙女散花
[解决办法]
用jquery的getJSON能解决跨越ajax,我以前做过的.可以.

HTML code
      <script type="text/javascript" src="Jscript/jquery-1.3.2.min.js"></script>      <script type="text/javascript">      function ss()      {                           $.getJSON("http://www.aaa.com/test1.aspx?jsoncallback=?",function(json){         alert(json.ID);          });       }      </script>
[解决办法]
js写错了.改下.

$.getJSON("http://www.aaa.com/test1.aspx?jsoncallback=?",function(json){alert(json.msg);

[解决办法]
探讨
楼上的.都说了能写不能读了. 楼主要的是跨越读Cookie.


[解决办法]
探讨
引用:
楼上的.都说了能写不能读了. 楼主要的是跨越读Cookie.


如果能写如cookie 文件,就肯定可以读.  我怀疑根本就没写进去.

[解决办法]

那我不知道了呢. 你用用 楼上那个天女散发的方法吧.
[解决办法]

[解决办法]
跨域可以取得Cookie么?如果能那安全性怎么保证?

读书人网 >asp.net

热点推荐