用javascript设置了cookie,ajax请求却不生效的问题
通过控制台观察,对图片的http请求的header部分也都带上了,为什么ajax请求没有带上?尝试使用xmlhttp.setRequestHeader('Cookie',...
通过控制台观察,对图片的http请求的header部分也都带上了,为什么ajax请求没有带上?
尝试使用
xmlhttp.setRequestHeader('Cookie', 'a=1')
这种方式强制带上,js直接报错...
求教
setCookie方法是我自己写的,已经测验过,通过document.cookie可以正确获取'key=value'的格式
chrome控制台下的ajax请求的request headers部分如下,完全没有cookie这一项: 展开
尝试使用
xmlhttp.setRequestHeader('Cookie', 'a=1')
这种方式强制带上,js直接报错...
求教
setCookie方法是我自己写的,已经测验过,通过document.cookie可以正确获取'key=value'的格式
chrome控制台下的ajax请求的request headers部分如下,完全没有cookie这一项: 展开
3个回答
展开全部
在用JavaScript发送ajax请求时增加cookie的方法如下:
$.ajax( {
type : "POST",
url : URL,
data: SOAP_INBOX_MAIL_QUERY,
dataType : "xml",
async: false,
beforeSend : function(xhr) {
var cookie = credentials["COOKIE"];//此处设置cookie
console.info( "adding cookie: "+ cookie );
xhr.setRequestHeader('Cookie', cookie);
},
success : function(data, textStatus, xmLHttpRequest){
},
error : function(xhr, ajaxOptions, thrownError) {
credentials = null;
}
});
$.ajax( {
type : "POST",
url : URL,
data: SOAP_INBOX_MAIL_QUERY,
dataType : "xml",
async: false,
beforeSend : function(xhr) {
var cookie = credentials["COOKIE"];//此处设置cookie
console.info( "adding cookie: "+ cookie );
xhr.setRequestHeader('Cookie', cookie);
},
success : function(data, textStatus, xmLHttpRequest){
},
error : function(xhr, ajaxOptions, thrownError) {
credentials = null;
}
});
展开全部
cookie不是这么加的,你这是在加请求参数。
cookie是response的事情。
cookie是response的事情。
追问
不是,理论上说,任何http request都应该带上浏览器的cookie作为request header的一部分,ajax也不例外,不知道为何我自己设置的cookie的没有带上
追答
ajax实际用的是XMLHttpRequest这个对象发送请求的,XMLHttpRequest对象防止人为的伪造请求头,所以它将自动添加处理这些头。类似的User-Agent Accept-Charset Accept-Encoding connection cookie等都是无法向setRequestHeader()传递这些头的,这些都是request自动处理添加的。
也就是说你
xmlhttp.setRequestHeader('Cookie', 'a=1')是无效的。
不信你可以试试设置User-Agent ……这些头,都是无效的。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
..................你看的这个不是XMLHttpRequest的请求头吧。。。 你这个是不是在浏览器输入地址后进行的请求。XMLHttpRequest是要在用到发送的时候才发送的..............
追问
确定是ajax的请求头,在这个请求的query string parameters还附上了ajax的请求参数,而且ajax在js对写入cookie之后发送的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询