如何在JavaScript中使用XMLHttpRequest更改“Cookie”(在标题字段中)中的一个cookie的值?

时间:2011-07-28 15:58:14

标签: javascript cookies cordova xmlhttprequest

我正在使用phonegap为移动平台开发应用程序。因为即时通讯使用js所以需要做很多ajax调用。我需要做的是在XMLHttpRequest的请求头中添加一个cookie(或修改其值已经存在)。
我知道它在这里说不可能 - How do I SET a Cookie (header) with XMLHttpRequest in JavaScript?
但是,在进行xhr调用之前,似乎能够修改请求标头中“Cookie”字段的值,如下面的答案所示:http://developer.appcelerator.com/question/120728/set-cookies-using-setrequestheader--crashed-

它说我们可以用不同的方式为android和iphone设置xhr req标题的'Cookie'字段,如下所示:

if (Titanium.Platform.name == 'iPhone OS')  
{
xhr.setRequestHeader("Cookie", "cookie1=value1");
xhr.setRequestHeader("Cookie", "cookie2=value2");
}
else
{
var cookieString = "cookie1=value1; cookie2=value2;";
xhr.setRequestHeader('Cookie', cookieString);
}

但是我只是使用js,我不能使用iphone / android的方法/类。 我需要知道的是,如果浏览器发送类似

的“Cookie”标题

xyz_cookie=vd0dKmD4mT; qwe=13aef60f7d0845 我可以使用"abc=1317331740;"方法以浏览器发送所有3个Cookie的方式添加另一个Cookie xhr.setRequestHeader

xyz_cookie=vd0dKmD4mT; qwe=13aef60f7d0845 abc=1317331740;
在xhr的请求头中的cookie字段中?
如果是的话,请告诉我怎么做?

1 个答案:

答案 0 :(得分:0)

xhr.setRequestHeader不能用于根据w3c建议设置Cookie。 我想这就是为什么失败了。 :-( 此外,cookie不适用于phonegap Android应用程序。所以这就加入了document.cookie混乱。