我正在使用Ionic 3/Angular Android应用程序。Ionic正在将HTTP标头源以file://for post和put http呼叫的方法发送。它不会添加来获得方法。
我使用的lib是'@angular/http'。
我们对API侧有严格的限制。我们无法修改。
任何人都可以建议解决方案吗?
以下是HTTP标头的片段
content-type:application/json
Host:XXXXXXX
Origin:file://
User-Agent:Mozilla/5.0 (Linux; Android 7.1.1; Android SDK built
for x86 Build/NYC; wv) AppleWebKit/537.36 (KHTML, like Gecko)
Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36
X-DevTools-Emulate-Network-Conditions-Client-Id:XXXXX
X-Requested-With:com.X.X.X
我还查看了以下帖子和论坛。没有运气
https://forum.ionicframework.com/t/native-app-is-sender-header-origin-file-file-file-which-causes-problems/62388
所以链接,但没有解决方案。
离子本机应用程序正在发送标题来源:file://引起问题
我不确定这是否会解决您的问题,但是我记得在我制作离子App时遇到这个问题。看我如何设置应用程序,看来我使用代理在本地进行HTTP调用。我在根目录中有一个名为 ionic.config.json
的文件,该文件如下:
{
"name": "mobile",
"app_id": "",
"type": "ionic-angular",
"proxies": [
{
"path": "/api",
"proxyUrl": "http://your-local-api-address"
}
]
}
然后在文件中用于存储API信息的文件中,我的URL只是设置为"/api"。肯定有一个解决方案,但可能是您正在尝试做Ionic无法(很容易?)的事情。.就像在试图在本机设备上运行该应用程序时运行现场重新加载。p> Update
基本上我在上面写的东西,但发现这个人从一个说他有解决方法的人发表了这个年龄段,这是他的输入
我设法找到了一个工作解决方案! 您需要将API服务器代理到LiverEload中,以便您的Web应用程序将 认为API服务器实际上与LiverEload服务器相同。 代理配置规格在这里:https://github.com/driftyco/ionic-- CLI#高级服务 例如,如果您的API服务器在192.168.0.1:8888上,则需要添加此 到您的离子。项目:
"proxies": [ { "path": "/api", "proxyUrl": "http://192.168.0.1:8888/api" } ]
然后,在您的应用中,您必须像 本地,直接来自/api。
这是旧线程的链接
https://github.com/ionic-team/ionic-cli/issues/89