当前位置: 首页 > 知识库问答 >
问题:

Ionic应用程序能够在浏览器上运行,但不能在Ionic DevApp上运行

终祯
2023-03-14

我是爱奥尼亚的新手,如果我的问题很愚蠢,请原谅我。在开发过程中,我使用浏览器来显示和测试我的应用程序,一切都正常工作,没有任何问题,但是当我在android设备上的Ionic DevApp上测试我的应用程序时,应用程序无法与后端通信(REST API)。每次我发送请求(如登录请求)时,系统都会响应[objectprogressevent]

console.log显示错误信息:

[ng] [console.log]: {
[ng]   "headers": {
[ng]     "normalizedNames": {},
[ng]     "lazyUpdate": null,
[ng]     "headers": {}
[ng]   },
[ng]   "status": 0,
[ng]   "statusText": "Unknown Error",
[ng]   "url": "http://localhost:8080/restapi/api/user/login",
[ng]   "ok": false,
[ng]   "name": "HttpErrorResponse",
[ng]   "message": "Http failure response for http://localhost:8080/restapi/api/user/login: 0 Unknown Error",
[ng]   "error": {
[ng]     "isTrusted": true
[ng]   }
[ng] }

我的申请:

前端:离子角

后端(RESTAPI):JavaSpringMVC、Oracle开发人员数据库、Hibernate

我已经搜索并尝试在不同的在线资源上找到解决方案,但不幸的是,其他人提供的解决方案在我的场景中不起作用。因此,我发布这个问题是为了向你们中任何一位离子技术专家寻求帮助。非常感谢。

我的登录请求代码:

this.http.login(this.user)
        .subscribe((userData: any) => {
                console.log('Success login');
                this.http.storeToken(userData.token);
                this.loginForm.reset();
                this.errorMessageService.setValidationErrorMessage('');
                this.exceptionHandlerService.setErrorResponse('');
                console.log(userData);
                this.router.navigate(['']);
            },
            error => {
                if (this.exceptionHandlerService.getErrorResponse() === null || this.exceptionHandlerService.getErrorResponse() === '') {
                    console.log(error);
                    this.exceptionHandlerService.setErrorResponse(error.error);
                }
                console.log(error);
            });

我的登录服务代码:

userUrl = 'http://localhost:8080/restapi/api/user/';
login(user: User) {
        const body = JSON.stringify(user);
        return this.http.post<User>(this.userUrl + 'login', body, httpOptions);
    }

共有1个答案

程谦
2023-03-14

谢谢你的帮助,我找到了解决办法。

我将前端应用程序代码中的API服务URL从localhost更改为我的计算机ip地址,现在一切正常。

从:

userUrl = 'http://localhost:8080/restapi/api/user/';

致:

userUrl = 'http://192.164.0.111:8080/restapi/api/user/';

Reaz Murshed给出的答案是:无法从Android应用程序连接到LocalHostAPI

 类似资料:
  • 我的应用程序在emulator上运行得很好,但当我导出后在我的智能手机(galaxy s3)上运行它时,它会在这个活动中崩溃,因为有HTTP连接!问题出在哪里?代码还是导出?当我点击连接按钮时,它崩溃了。

  • 我使用Foundation/Yeoman等创建了我的婚礼网站,并在GitHub上托管。直到几周前,所有的媒体查询都能正常运行(我根本没有更改任何内容,也没有编辑我的网站),现在它在iPhone/手机浏览器上都不起作用了。它在我的iPad上起作用,当我最小化屏幕时,它在桌面浏览器上也起作用。老实说,我试过这么多东西,都想不通。 麦哲伦导航系统在移动设备上也不起作用... 请救命!提前谢谢! www.

  • 它可以在仿真器和真实设备(android版本4)上工作,但不能在真实设备(android版本7.0)上工作 相关代码: logcat: 05-23 10:31:39.464 173 42-17342/laftel.net.laftel E/AndroidRuntime:致命异常:主进程:laftel.net.laftel,pid:17342 java.lang.nullPointerExcepti

  • 本文向大家介绍python能在浏览器能运行吗,包括了python能在浏览器能运行吗的使用技巧和注意事项,需要的朋友参考一下 py文件不是html文件,当然不能在浏览器里打开。py文件可以用任何编辑器打开,py文件是和txt一样都是普通的文本文件,只是python解释器可以解释运行。 常见用的python编辑器有 pycharm 这是一个专门用于Python开发的IDE,常见的代码补全、智能提示、语

  • 我正在为我的Android应用程序使用Firebase身份验证和数据库。所有的一切都可以在一个仿真器上运行(Nexus 5X API 26、Nexus 6 API 26、Galaxy Nexus API 24)。当我在我的个人Galaxy S6 Edge API 24上启动应用程序时,我的Firebase相关项目都没有工作。 没有崩溃错误。 很抱歉写了这么长的日志,我似乎弄不明白问题所在。请让我知