使用Ionic服务 - 我的Ionic应用程序将REST调用中的数据返回到在localhost上运行的webapi。
但是当我发出Ionic run时,我的REST API调用失败了。 error.data是空白的,所以我不能告诉错误是什么。
我也可以直接在浏览器中点击其余调用的api,看到它返回数据。
请有人指点如何调试这个,或者为什么我的http调用在运行模式下失败?
答案 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。
您可以使用以下步骤:
从您的设备打开热点
将笔记本电脑连接到网络
打开终端并输入ipconfig
使用指定的IP地址呼叫您的REST。
您可以在此处找到详细的参考资料。 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服务器上托管的。