相关疑难解决方法(0)

phonegap:基于cookie的身份验证(PHP)无法正常工作[webview]

我正在开发一个使用sencha touch,HTML5和phonegap作为包装器的移动网络应用程序.

我正在使用PHP身份验证(Cookie)和ajax请求.在safari或chrome上一切正常,但在使用phonegap(webview)进行部署后,它再也无法工作了......

任何帮助,将不胜感激 :)

更多细节:

我的应用程序的所有数据都通过ajax请求加载到我的服务器组件"mobile.php".我使用基本的PHP-Auth来验证用户:

  1. AJAX-Request [用户名,密码] - > mobile.php - >会话建立(cookie)
  2. 如果auth成功,则所有其他请求

普通的safari网站和webview有什么区别?

cookies ajax webview ios cordova

27
推荐指数
1
解决办法
2万
查看次数

jQuery.getJSON可以将域名的cookie放在它所做的请求的标题中吗?

(注意:另请参阅相关问题浏览器是否可以对XSS jquery.getJSON()请求中的标头中指定的Set-Cookie做出反应?)

我似乎无法在JSON操作的请求标头中设置cookie(其名称为mwLastWriteTime).请求本身是Freebase MQL教程中的一个简单的请求,否则它工作正常:

// Invoke mqlread and call the function below when it is done.
// Adding callback=? to the URL makes jQuery do JSONP instead of XHR.
jQuery.getJSON("http://api.sandbox-freebase.com/api/service/mqlread?callback=?",
{query: JSON.stringify(envelope)},   // URL parameters
displayResults);                     // Callback function
Run Code Online (Sandbox Code Playgroud)

我希望我能用以下内容设置这个cookie:

$.cookie('mwLastWriteTime', value, {domain: ".sandbox-freebase.com"});
Run Code Online (Sandbox Code Playgroud)

不幸的是,在传出请求标题中查看FireBug我只看到:

Host    api.sandbox-freebase.com
User-Agent  [...]
Accept  */*
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive  115
Connection  keep-alive
Referer [...]
Run Code Online (Sandbox Code Playgroud)

但是如果我没有指定域(或者我是否明确指定了请求站点的域),我可以mwLastWriteTime在头部显示本地请求.由于.sandbox-freebase.com域名拥有这些cookie,它们不应该与GET一起旅行吗?或者是否需要某种解决方法?

我的代码都是JavaScript,我想设置这个cookie,然后立即调用getJSON.

javascript firefox jquery json freebase

3
推荐指数
1
解决办法
3340
查看次数

标签 统计

ajax ×1

cookies ×1

cordova ×1

firefox ×1

freebase ×1

ios ×1

javascript ×1

jquery ×1

json ×1

webview ×1