簡體   English   中英

無法從Cordova Android應用程序調用本地Web API

[英]Cannot call local web api from cordova android app

我目前正在Visual Studio 2015 RC中開發cordova 4.3 android應用程序。 這是一個AngularJS應用程序,我使用$ resource將請求發送到在同一台計算機上不同端口上運行的ASP.NET Web Api應用程序。 如果我禁用跨域代理,則在Ripple中調試應用程序可以很好地工作,但是當我嘗試在Visual Studio Android仿真器或Android設備中進行調試時,嘗試達到該目標后,會收到一個非常有用的“無法加載資源”信息網絡API。 網址看起來正確,我懷疑問題與CORS或我的HTTPS證書或兩者有關? 到目前為止,我嘗試過的是:

  1. 在清單文件中設置<uses-permission android:name="android.permission.INTERNET" />android:debuggable="true"
  2. 嘗試chrome:// inspect /#devices以獲取有關該問題的更多信息,但收到錯誤消息“無法從不受信任的來源加載DevTools前端”。
  3. 我可以使用非常有用的工具Sharpproxy [ https://www.codefromjames.com/wordpress/?p=97]將我的android手機chrome網絡瀏覽器連接到localhost網絡api,但不幸的是,這種方法不適用於該應用程序的網頁流量。
  4. 當我將應用程序指向我的azure托管實時Web api端點時,ajax請求確實起作用,在該端點上我具有有效的https證書,但是在開發應用程序時使用起來不太方便。
  5. 確保config.xml文件包含<access origin="*" />
  6. 我的Web API使用app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll)配置

我對Cordova /混合應用程序開發完全陌生,並且肯定缺少一些明顯的東西嗎? 任何幫助或建議將不勝感激!

在遇到Visual Studio 2015的各種問題后,我將其卸載到Visual Studio 2013 Update 4,現在我可以使用上面提到並鏈接到的夏普代理將android設備連接到本地運行的Web api。

因此要明確:

  1. 使用Visual Studio 2013 Update 4在例如URL https:// localhost:44358 /上運行Web api。
  2. 使用外部端口5000和內部44358啟動Sharp代理。
  3. 確保您的android設備已連接到同一wifi,並指示您的應用對所有服務呼叫使用https://您的IP地址:5000

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM