在我的响应标头中收到带有有效“set-cookie”值的服务器响应后,应用程序不会保存cookie。
heroku上的Rails服务器设置为CORS(跨域ajax请求)。 Access-Control-Allow-Credentials = True,methods = POST,GET。
响应包含set-cookie的登录请求如下:
Ext.Ajax.request({
url: 'http://myurl/log_user_in.json',
params: { username: user, password: pass, app_id: id },
method: "POST" });
需要帮助解决应用程序无法保存cookie的原因。即。执行
在document.cookie
document.cookie = ''
感谢您的帮助。
答案 0 :(得分:3)
在这里找到答案:https://stackoverflow.com/a/7189502/1106877
不幸的是,Sencha论坛答案几乎没有提供如何做到这一点的指导。 在Sencha Touch中,上述链接的等效解决方案是:
Ext.Ajax.request({
url: 'http://myurl/log_user_in.json',
params: { username: user, password: pass, app_id: id },
withCredentials: true,
useDefaultXhrHeader: false,
method: "POST" });
它也适用于使用Ajax的商店代理。
确保withCredentials为true且useDefaultXhreader为false。这允许您的ajax请求使用cookie查找,设置和请求。当然,所有这些都假定您的服务器已设置为跨域Ajax调用。