【问题标题】:How to perform Ajax call with the HTTPS protocol in Phonegap Android?如何在 Phonegap Android 中使用 HTTPS 协议执行 Ajax 调用?
【发布时间】:2012-07-22 06:51:51
【问题描述】:

我是 Android 新手。我正在 Phonegap 中开发一个应用程序,并实现了 ajax 调用以使用 HTTPS 协议与服务器通信。当我在清单文件中将 debuggable 设置为 true 时,它​​工作正常。如果我将其更改为 false,则它不起作用。请帮我。

提前致谢。

【问题讨论】:

    标签: android jquery jquery-mobile cordova


    【解决方案1】:

    您正在使用的网络服务需要有一个有效的证书,一个不是自签名的。否则 SSL 将失败。

    here

    【讨论】:

      【解决方案2】:

      在 Android 4.0+ 中出现的另一个问题(但在 2.3 等旧版本中没有)...您必须在发送前手动设置 Authorization 标头。使用新的用户名:密码:在 jQuery 1.7 中添加的选项不起作用。

      以下示例说明了您必须执行的操作。
      注意:这需要 base64 jquery 插件。

       $.ajax({
                  url: "https://yoururl,
                  type: method,
                  dataType: 'json',
                  // username: username,  // Doesn't work on ANDROID
                  // password: password,  // Doesn't work on ANDROID
                  beforeSend: function (xhr)
                  {
                      xhr.setRequestHeader("Authorization", "Basic " + $.base64.encode( username + ":" + password ));
                  },
                  data: options.data,
                  success: function(response) {
      
                  },
                  error: function(jqXHR, textStatus, errorThrown) {
      
                  }
              });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多