Cordova应用不再在其httprequests

时间:2015-10-20 13:17:48

标签: angularjs cordova cookies ionic

我有一个在Android手机上运行的Ionic(Cordova / Angular)应用程序(Galaxy S6 Edge,Android 5.1.1)。 此应用程序与用户必须首先登录的服务器通信。

登录后,通过在$ http调用中包含withCredentials = true,服务器收到的身份验证cookie会在每次请求时自动发回服务器。

例如:

$http({
                method: 'POST',
                url: LoginStatusUrlMobile,
                responseType: 'document',
                withCredentials: true
            })

这曾经有用,但本周末不再发送cookie,应用程序不再有效。 我尝试了几件事来弄清楚发生了什么:

  • 这是Chrome 46的新版本吗? =>我在手机上卸载了Chrome和Chrome网页浏览的更新,但这并没有任何区别

  • 在我的开发环境中,该应用仍然有效(Mac上的Chrome版本为46.0.2490.71,带有--disable-web-security以转换相同的来源政策)

  • 我尝试在Genymotion中运行应用程序,这适用于运行Android 4.4.4的虚拟设备,但它没有在运行Android 5.1.0的虚拟设备上发送cookie

    < / LI>
  • 该应用程序也可以在iOS上运行,我还没有彻底测试过,但是我的iPad上的iOS 8.1工作正常

这是我现在的情况,我的问题是: 有没有人知道如何使用angular $ http请求将cookie发送回服务器,当withCredentials = true时似乎不再有效。

1 个答案:

答案 0 :(得分:2)

我通过删除Android平台然后重新创建它找到了解决方案。 之后我按照here所述添加了cordova-whitelist-plugin。

现在一切都恢复正常了。