我正在使用 sencha touch、HTML5 和 phonegap 作为包装器开发移动网络应用程序。
我正在使用 PHP 身份验证 (Cookie) 和 ajax 请求。在 safari 或 chrome 上一切正常,但在使用 phonegap (webview) 部署后它不再工作了......
任何帮助将不胜感激:)
更多细节:
我的应用程序的所有数据都通过 ajax 请求加载到我的服务器组件“mobile.php”。 我使用基本的 PHP-Auth 来验证用户:
- AJAX 请求 [用户名、密码] -> mobile.php -> session 建立(cookie)
- 如果身份验证成功,则所有其他请求
普通的 safari 网站和 webview 有什么区别?
最佳答案
我想通了:
您必须更改 phonegap_delegate.m 文件并将以下内容添加到 init 方法中:
- (id) init
{
/** If you need to do any extra app-specific initialization, you can do it here
* -jm
**/
//special setting to accept cookies via ajax-request
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage
sharedHTTPCookieStorage];
[cookieStorage setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
return [super init];
}
它使 webview 能够接受来自 ajax 请求的 cookie
关于ajax - 电话间隙 : cookie based authentication (PHP) not working [webview],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3709315/