仅仅通过Ajax(XMLHttpRequest)请求,能否将cookie保存到游览器上?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了仅仅通过Ajax(XMLHttpRequest)请求,能否将cookie保存到游览器上?相关的知识,希望对你有一定的参考价值。
在浏览器上设置cookies,都是通过DOM的document.cookie实现,少了这个接口是无法将cookie保存在浏览器上的。浏览器端的Ajax请求时通过浏览器端的脚本(VBscript或javascript)来实现,而DOM就是面向浏览器端脚本的接口。Ajax和cookies的设置和读取没有冲突的。例子:
Ajax("getCookies.php",callback);
function callback(data)
document.cookie=data;//将cookie设置到浏览器,这里写入到浏览器的cookie是由getCookies.php返回的内容。
function Ajax()
//Author: 扎俊
//Email:men_779@126.com
//Question: http://hi.baidu.com/men779
this.url=arguments[0]||"";
this.callback=arguments[1]||callAjaxBack;
this.method=arguments[2]||"GET";
var xThis=this;
function callAjaxBack()
var xmlHttp;
try
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
catch (e)
// Internet Explorer
try
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
catch (e)
try
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
catch (e)
alert("Some Error Detected!");
return null;
xmlHttp.onreadystatechange=function()
if(xmlHttp.readyState==4)
xThis.callback(xmlHttp.responseText);
xmlHttp.open(this.method.toUpperCase(),this.url,false);
xmlHttp.send(null);
参考技术A 能。跟servlet的写法是一样的、 参考技术B ajax把要保存的传给后台,后台设置cookie就可以了
Ajax
- Ajax
ajax核心:XMLHttpRequest对象。无需刷新页面即可从服务器取得数据。
- 创建XMLHttpRequest对象。
var xml=new XMLHttpRequest();
- XMLHttpRequest的用法
xml.open("get","example.php",false);
首先调用open()方法,接受的三个参数值:要发送的请求类型(get,post等),请求的URL,是否异步发送请求的布尔值。此时,会启动针对example.php的get请求。
- send() 接受一个参数:作为请求主体发送的数据。null为不需要请求主体发送数据。在收到响应后,响应数据会自动填充xml对象的属性:responseText,responseXML,status(http响应状态码),statusText(http状态说明).
1 <script type="text/javascript"> 2 var xml=new XMLHttpRequest(); 3 xml.open("get","1.html",false); 4 xml.send(null); 5 if(xml.status>=20&&xml.status<300||xml.status==304){ 6 alert(xml.responseText); 7 }else{ 8 alert(xml.status); 9 } 10 </script>
以上是关于仅仅通过Ajax(XMLHttpRequest)请求,能否将cookie保存到游览器上?的主要内容,如果未能解决你的问题,请参考以下文章