之前发了一个贴,http://topic.csdn.net/u/20091214/09/2ddb3ead-2891-4c6d-93bf-ae2110b4b109
我要做的是一个跨域的读取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
------解决方案--------------------------------------------------------