$http/Ajax 调用 Windows Phone 8.1 应用程序的奇怪行为
Strange Behavior of $http/Ajax Calls on Windows Phone 8.1 App
我最近陷入了一个奇怪的问题,由 Visual Studio 应用程序中的多平台混合应用程序抛出。我的开发环境详细信息如下:
- Visual Studio 2013 年第 3 版
- 科尔多瓦 4.0
- Angularjs1.4
- 离子 1.4
- 诺基亚 Lumia 1320 [Windows 8.1 OS]
我有一个将与移动应用程序交互的 Web 应用程序,部署在服务器机器上,可以通过内部企业网络和互联网访问。
现在的问题是,当我[移动设备]连接到内部网络时,$http 调用失败,状态代码为 0。内部挖掘显示实际返回状态码是-1.
但是,当我在 phone 中切换到移动数据时,ajax 通话顺利并成功完成。 现在,如果我切换回内部网络,它会再次开始正常工作。 !!!!
http调用很简单,用了promiseAPI...我也有一些请求拦截器
对这种奇怪行为的任何解释,或者更恰当地说是相同的解决方案??
摸索了 2 天多后,我终于得出结论,是我的浏览器出了问题。
正如我所说,我使用的是 Windows Phone 8.1,它使用 Internet Explorer 11 作为默认渲染。此外,我的 Web 服务器实际上位于代理服务器 [Apache HTTP] 之后。
现在,真正的问题是 ajax 调用返回的响应状态代码为 0。原因是 Ajax 调用被挂起Apache HTTP 代理服务器,因为一些隧道问题。请注意,这特别发生在 IE11 和 Apache HTTP 服务器上。
发生这种情况是因为我在基于 HTTPS 的代理服务器上使用 POST 请求。
Now the solution is too non-technical, but that's what saved my life. In order to save your life from this issue, You must
1.将您的 POST 请求转换为 GET 请求
2。或者在向服务器发出 POST 请求之前,向同一服务器发出 GET 请求。
就我而言,我采用了第二种方法,它挽救了我的生命。将此作为答案发布,这样它也可以拯救其他人。
您可以参考以下链接了解更多详情。
IE10/IE11 Abort Post Ajax Request After Clearing Cache with error “Network Error 0x2ef3”
我最近陷入了一个奇怪的问题,由 Visual Studio 应用程序中的多平台混合应用程序抛出。我的开发环境详细信息如下:
- Visual Studio 2013 年第 3 版
- 科尔多瓦 4.0
- Angularjs1.4
- 离子 1.4
- 诺基亚 Lumia 1320 [Windows 8.1 OS]
我有一个将与移动应用程序交互的 Web 应用程序,部署在服务器机器上,可以通过内部企业网络和互联网访问。
现在的问题是,当我[移动设备]连接到内部网络时,$http 调用失败,状态代码为 0。内部挖掘显示实际返回状态码是-1.
但是,当我在 phone 中切换到移动数据时,ajax 通话顺利并成功完成。 现在,如果我切换回内部网络,它会再次开始正常工作。 !!!!
http调用很简单,用了promiseAPI...我也有一些请求拦截器
对这种奇怪行为的任何解释,或者更恰当地说是相同的解决方案??
摸索了 2 天多后,我终于得出结论,是我的浏览器出了问题。
正如我所说,我使用的是 Windows Phone 8.1,它使用 Internet Explorer 11 作为默认渲染。此外,我的 Web 服务器实际上位于代理服务器 [Apache HTTP] 之后。
现在,真正的问题是 ajax 调用返回的响应状态代码为 0。原因是 Ajax 调用被挂起Apache HTTP 代理服务器,因为一些隧道问题。请注意,这特别发生在 IE11 和 Apache HTTP 服务器上。
发生这种情况是因为我在基于 HTTPS 的代理服务器上使用 POST 请求。
Now the solution is too non-technical, but that's what saved my life. In order to save your life from this issue, You must
1.将您的 POST 请求转换为 GET 请求
2。或者在向服务器发出 POST 请求之前,向同一服务器发出 GET 请求。
就我而言,我采用了第二种方法,它挽救了我的生命。将此作为答案发布,这样它也可以拯救其他人。
您可以参考以下链接了解更多详情。
IE10/IE11 Abort Post Ajax Request After Clearing Cache with error “Network Error 0x2ef3”