我有一个应用程序,其中html / javascript代码在独立的浏览器Safari中执行正常,但是当在PhoneGap中执行ajax调用时,它们都会因网络错误101而失败。
我正在请求XML文档
答案 0 :(得分:6)
是
但是,它没有使用HTTPS协议正常处理证书错误。我最终编写了自己的代码来建立与服务器的初始连接并忽略证书错误
这是代码 http://blog.clearlyinnovative.com/post/1012434483/phonegap-and-iphone-development
答案 1 :(得分:1)
Phonegap确实支持HTTPS ajax请求,但是像Aaron提到的那样,它没有优雅地处理证书错误。就我而言,我们在生产环境中拥有有效的证书;但是对于我们的开发环境,我们覆盖了NSUrl方法之一:
@implementation NSURLRequest (IgnoreSSL)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
{
return YES;
}
@end
这已经通过phonegap 1.7(和1.9)进行了测试,效果很好。您可以将此代码放在MainViewController.m中。
请注意,我建议仅将此代码用于开发环境。这很可能不会被应用程序商店接受;因为我们正在压倒私人api。只需在生产中使用有效的证书。