【问题标题】:Send post request from android using 'ionic run android' to nodejs localhost server使用“ionic run android”从 android 向 nodejs localhost 服务器发送 post 请求
【发布时间】:2016-04-27 00:39:52
【问题描述】:

我正在使用“ionic run android”在我的设备上运行 ionic 应用程序,并通过 USB 连接到我的笔记本电脑进行检查。我还在笔记本电脑的 localhost:3000 端口上运行了一个节点 js 服务器。

1) 如何将在我的设备上运行的 ionic 应用程序的请求发送到在本地笔记本电脑上运行的服务器。 2) 我需要将请求发送到的 url 是什么?是“本地主机:3000”吗?是我的实际 ip (x.x.x.x:3000) 吗?

谢谢!

【问题讨论】:

    标签: node.js rest cordova ionic-framework


    【解决方案1】:

    los,我已经用实际的 android 设备和带有 wifi 连接的笔记本电脑尝试了同样的事情。

    要生成您的服务器网址:

    步骤1:通过wifi或有线连接将您的设备和笔记本电脑或计算机置于同一网络中。(假设我们通过wifi路由器连接了移动设备和笔记本电脑。如果wifi路由器不可用,我们可以将我们的设备与任何设备的 wifi-hotspot 连接并继续。)

    步骤2:在同一网络中连接后,转到终端(mac)或命令提示符(Windows)并分别触发ifconfig或ipconfig命令。

    第三步:然后找到Wireless IPv4 Address作为你的服务器ip:

    LAN adapter Wireless Network Connection:
    
       Connection-specific DNS Suffix  . :
       Link-local IPv6 Address . . . . . : fe80::781e:3ac2:6dcc:fa75%13
       IPv4 Address. . . . . . . . . . . : 192.168.43.88
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       Default Gateway . . . . . . . . . : 192.168.43.1
    

    所以在这种情况下,192.168.43.88 是我们的服务器 ip。

    Step4:然后将您的服务器应用程序的端口号附加到我们生成的 ip 中,如您的情况3000

    192.168.43.88:3000
    

    第 5 步: 最后,当我们使用笔记本电脑作为服务器时,我们可以说它是我们的本地服务器。因此对于本地服务器,我们需要在我们的 url 中使用http 协议,如果您使用任何远程服务器(例如 Amezon 服务器)或者如果您在任何云(例如 Heroku 云)上部署服务器,则使用 https 作为协议。 所以,现在我们的地址变成了:http://192.168.43.88:3000

    第 6 步: 然后,您可以附加处理您的请求的服务器端点名称或服务器 URL。 例如http://192.168.43.88:3000/home

    第 7 步: 最后,在您的应用中使用某些东西向服务器发送请求。我使用 JQuery Ajax 请求如下:

    var basepath="http://192.168.43.88:3000";// Put your servers ip address here. if connecting to local server use 'http' and if to remote server use 'https'
    
    $(document).ready(function(){
    
    
    $("#mybtn").click(function(e){
    
            $.ajax({
                type:"GET",
                url:basepath+"/bots",
                success:function(data,status,request){
                    //success action
                },
                error: function(error){
                    //failuer action
                },
                timeout:5000
            });
    
    });
    

    希望这会对您有所帮助。

    【讨论】:

      【解决方案2】:

      我建议你试试https://localtunnel.me/。我写了一篇关于how to use it的短文。

      TL;DR 是,你用 npm 安装它:

      npm install -g localtunnel
      

      然后,在某个本地端口(例如 1337)上启动您的项目,并确保在本地一切正常。现在,请求一条通往本地服务器的隧道:

      lt --port 1337
      

      你应该得到如下输出:

      your url is: https://awesome.localtunnel.me
      

      您现在可以使用此链接,对该网址的任何请求都将被路由到您在端口 1337 上的服务。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-18
        • 1970-01-01
        相关资源
        最近更新 更多