我试图在iOS和Web上使用@ionic-native/http
,但没有成功。应用程序可在两个平台上启动,但该插件无法正常工作。
我希望能涵盖最重要的内容。
ionic start myApp tabs
npm install --save @capacitor/cli @capacitor/core
npm run build --prod
npx cap init <name> <id>
npx cap add ios
npx cap copy
npx cap open ios
npm install cordova-plugin-advanced-http
npm install @ionic-native/http
npx cap sync
应该是documentation(我可能会误解)。
尝试调用API时:
Native: tried calling HTTP.get, but Cordova is not available. Make sure to include cordova.js or run in a device/simulator
我知道我本身并没有使用Cordova,但是npx cap sync
是否应该覆盖它?
[error] - ERROR {"line":38,"column":38,"sourceURL":"capacitor://localhost/tab2-tab2-module.js"}
答案 0 :(得分:0)
我很幸运终于找到了更多信息。
我不确定为什么,但是这个附加插件对https://github.com/sneas/ionic-native-http-connection-backend有所帮助。可以通过HttpClient
发出请求,并且它们使用Cordova插件,从而绕过代理。
根据https://github.com/ionic-team/capacitor/issues/767#issuecomment-415481452
,电容器无法在浏览器中工作所以我认为那是错误的。前面提到的plugin将通过HttpClient
委派请求,因此尽管无法解决CORS问题,但对于浏览器而言,这是一个不错的解决方法。
此时proxy可以解决CORS问题。