【发布时间】:2015-08-05 12:53:55
【问题描述】:
我目前正在 Visual Studio 2015 RC 中开发一个 cordova 4.3 android 应用程序。这是一个 AngularJS 应用程序,我使用 $resource 向在同一台计算机上的不同端口上运行的 ASP.NET Web Api 应用程序发送请求。如果我禁用跨域代理,在 Ripple 中调试应用程序可以正常工作,但是当我尝试在 Visual Studio Android 模拟器或我的 Android 设备上进行调试时,一旦尝试到达网页 API。 url 看起来正确,我怀疑问题与 CORS 或我的 HTTPS 证书或两者有关?到目前为止我尝试过的是:
- 在清单文件中设置
<uses-permission android:name="android.permission.INTERNET" />和android:debuggable="true"。 - 尝试 chrome://inspect/#devices 以获取有关该问题的更多信息,但收到错误消息“无法从不受信任的来源加载 DevTools 前端”。
- 我可以使用非常有用的工具 sharpproxy [https://www.codefromjames.com/wordpress/?p=97] 将我的 android 手机 chrome web 浏览器连接到 localhost web api,但不幸的是,这种方法不适用于应用程序的 webview。
- 当我将应用程序指向我拥有有效 https 证书但在开发应用程序时使用起来不太方便的 azure 托管的实时 Web api 端点时,ajax 请求确实有效。
- 确保 config.xml 文件包含
<access origin="*" /> - 我的 web api 配置为
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll)
我对 Cordova/混合应用程序开发完全陌生,肯定会遗漏一些明显的东西吗?任何帮助或建议将不胜感激!
【问题讨论】:
-
你使用的是“localhost”还是pc本地IP?
-
我已经尝试了所有可能的组合:)
标签: android angularjs cordova asp.net-web-api visual-studio-cordova