2010-08-24 206 views
5

我在HTML/JavaScript代码执行一个独立的浏览器Safari的精细的应用程序,但是当Ajax调用的PhoneGap的执行,他们都无法与网络错误101PhoneGap是否支持HTTPS ajax请求?

我请求XML文档

+1

AFAIK PhoneGap可以支持HTTPS请求,但许多人遇到了自签名证书的问题。 PhoneGap是iPhone还是Android? – irishbuzz 2010-08-24 21:25:34

回答

6

是的。

但是,它并没有正常处理HTTPS协议的证书错误。最后我写我自己的代码,以建立与服务器的初始连接,并忽略证书错误

这里是代码 http://blog.clearlyinnovative.com/post/1012434483/phonegap-and-iphone-development

+1

这是否仍然存在?它的404的 – 2015-02-04 13:18:07

+0

虽然这个链接可能回答这个问题,但最好在这里包含答案的重要部分,并提供供参考的链接。链接的答案可能会失效,如果链接的页面发生变化 – John 2015-06-04 11:21:21

1

的PhoneGap不支持HTTPS Ajax请求,但像阿龙提到它不妥善处理证书错误。就我而言,我们在我们的生产环境中拥有有效的证书;但对于我们的开发环境中,我们推翻的NSURL方法之一:

@implementation NSURLRequest (IgnoreSSL) 

+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host 
{ 
    return YES; 
} 

@end 

这已经与PhoneGap的1.7(1.9)测试,效果不错。你可以把这段代码放到你的MainViewController.m中。

请注意,我只推荐此代码用于开发环境。这很有可能不会被应用商店所接受;因为我们正在压倒一个私人API。只需在生产中使用有效的证书。

+0

它不适用于Cordova 1.5和Xcode 4(从不会调用allowedAnyHTTPSCertificateForHost方法) – 2012-11-15 13:42:13

+0

我仍然在我的环境中使用此代码(请注意,我正在运行Cordove 1.9现在)。所以有可能这与Cordova 1.5不兼容;但从快速浏览苹果讨论板;这已经支持了相当长的一段时间。只要确保你把它放在你的“@implementation MainViewController”上面。 – Aki 2012-11-15 16:29:33