【发布时间】:2012-09-30 01:08:22
【问题描述】:
我正在开发一个需要连接到 staless 远程服务器的 phonegap 应用程序。一些远程请求已经过身份验证,我打算使用记住我的服务。因此,应用程序中有一个登录选项,该选项被转换为使用 jQuery $.ajax 执行的以下请求。请注意,所有请求都是 application/json
POST remoteserver/api/users/login
服务器响应设置 cookie
设置-Cookie REMEMBER_ME_COOKIE=amVzdS5hbG9uc29AZ21haWwuY29tOjEzNTEwMDg1NTg1NDY6ODdkOGFhNzEzY2NiZTRhZTIwZjZlNzgyY2E1ZmQyODY;过期=星期二,2012 年 10 月 23 日 16:09:18 GMT;路径=/; HttpOnly
为了使跨域请求正常工作,服务器对 OPTIONS 请求的响应如下:
Access-Control-Allow-Headers : Content-Type, *
Access-Control-Allow-Origin : *
Access-Control-Max-Age : 1000
但是下一个对服务器的请求没有设置 Cookie 标头。
1) 是否可以让 cookie 发挥作用?
2) 我也尝试在 $.ajax 请求中手动添加 cookie,但它也不起作用。有什么问题吗?
$.ajax({
type : type,
url : url,
data : data,
success : callback,
dataType : dataType,
contentType : contentType,
beforeSend: function(xhr) {
xhr.setRequestHeader("Cookie", "REMEMBER_ME_COOKIE=amVzdS5hbG9uc29AZ21ha");
},
error : function(jqXHR, textStatus, errorThrown) {
handleError(jqXHR, textStatus, errorThrown);
}
});
【问题讨论】:
标签: jquery cordova cookies cross-domain