如何在javascript中发出https请求?

时间:2010-06-17 15:26:47

标签: javascript jquery

我正在做phonegap应用程序,我想从服务器访问web服务,在编码javascript get,post或ajax方法正常工作http url请求但它不能用于 https url请求。 请帮助我,如何调用SOAP或安全的Web服务来通过javascript解析phonegap中的JSON?

3 个答案:

答案 0 :(得分:7)

HTTPS不是另一种协议,它只是SSL上的HTTP / TLS- 加密连接。由于该加密对用户代理是透明的,因此要对您自己的域名执行HTTPS AJAX调用,您的站点必须使用HTTPS,否则您无法在要对其执行AJAX调用的页面上有选择地选择HTTPS尚未使用HTTPS。

因此,如果您调用AJAX请求的页面未使用HTTPS,则基本上无法调用“https://yourdomain.com/fetch”。

如果你想对托管在域以外的其他地方的HTTPS域执行AJAX调用,那么有可能这样做(但仅限于Firefox 3.5 +,Safari,Chrome和我认为Opera),有一些有关如何在这里提供跨域AJAX请求的有趣信息:http://metajack.im/2010/01/19/crossdomain-ajax-for-xmpp-http-binding-made-easy/ - IE中不支持此方法(毫不奇怪)。

答案 1 :(得分:2)

每个javascript(ajax)函数对于电话间隙都是一样的,在你的情况下,根据https服务器它只是一个无效的证书问题。

答案 2 :(得分:0)

如果原始加载的页面未通过https://连接,那么您的Ajax调用将无法通过https://运行。

Ajax调用也必须与主站点在同一个域中,因为javascript不允许跨域Ajax连接。

还要确保Ajax调用请求的服务器端功能返回null以外的其他内容。