离线应用REST调用localhost上托管的webapi使用离子服务,但不是在我使用"离子运行"

时间:2015-04-24 03:43:08

标签: ionic

使用Ionic服务 - 我的Ionic应用程序将REST调用中的数据返回到在localhost上运行的webapi。

但是当我发出Ionic run时,我的REST API调用失败了。 error.data是空白的,所以我不能告诉错误是什么。

我也可以直接在浏览器中点击其余调用的api,看到它返回数据。

请有人指点如何调试这个,或者为什么我的http调用在运行模式下失败?

4 个答案:

答案 0 :(得分:3)

浏览器

离子提供服务,设备[ 离子运行

将localhost更改为ip地址(在您的系统中)

ex- 198.1.1.0:4000(eg.4000是本地服务器的端口号)

并输入(CLI)

离子发球 - 地址198.1.1.0

检查移动浏览器类型 198.1.1.0:4000

注意

答案 1 :(得分:1)

如果您为REST应用程序使用实时服务器,则会遇到CORS问题。

我建议您使用Ionic的代理服务器来完成所有请求。您不会在任何OPTION请求或null请求响应等中运行。

检查This Official Blog和, 这也非常有用Ionic Proxy Example

答案 2 :(得分:0)

localhost服务器只能从您的本地环境(笔记本电脑)访问。假设您正在实际设备上运行,它无法以正常方式访问该Web api。

您可以使用以下步骤:

  1. 从您的设备打开热点

  2. 将笔记本电脑连接到网络

  3. 打开终端并输入ipconfig

  4. 使用指定的IP地址呼叫您的REST。

  5. 您可以在此处找到详细的参考资料。 How can I access my localhost from my Android device?

答案 3 :(得分:0)

我在这篇博文中找到了我的问题的解决方案。它解释了GenyMotion模拟器使用的网络主机配置:http://bbowden.tumblr.com/post/58650831283/accessing-a-localhost-server-from-the-genymotion

使用此功能,我可以获取在调用我的服务时应该使用的IP地址,该地址是在我的本地IIS服务器上托管的。