Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用axios响应本机api调用_Node.js_Reactjs_React Native_Axios - Fatal编程技术网

Node.js 使用axios响应本机api调用

Node.js 使用axios响应本机api调用,node.js,reactjs,react-native,axios,Node.js,Reactjs,React Native,Axios,我在nodeJs后端创建了这个api app.post("/addInvoice", (req, res) => { let invoice = req.body; var sql = "INSERT INTO invoice (address, email, billnumber, price, status) VALUES(?, ?, ?, ?, 'sent');"; mysqlConnection.query( sq

我在nodeJs后端创建了这个api

app.post("/addInvoice", (req, res) => {
  let invoice = req.body;
  var sql =
    "INSERT INTO invoice (address, email, billnumber, price, status) VALUES(?, ?, ?, ?, 'sent');";
  mysqlConnection.query(
    sql,
    [
      invoice.address,
      invoice.customeremail,
      invoice.billnumber,
      invoice.totalprice,
    ],
    (err, rows, fields) => {
      if (!err) {
        res.send(rows);
      } else {
        res.send(err);
      }
    }
  );
});
当我使用PostMan调用这个API时,它工作得非常好

但现在我需要从我的react原生应用程序中单击按钮调用它

axios
      .post("http://localhost:3000/addInvoice", {
        address: address,
        customeremail: email,
        billnumber: invoicenumber,
        totalprice: totalPrice,
      })
      .then((response) => {
        alert(response);
      });
我发送此消息时未发生任何事情,并且警报(Response)未返回任何内容

可能是什么问题?

您的模拟器(或手机)本身就是一个设备,它与您的web浏览器、邮递员或服务器不在同一IP(localhost或127.0.0.1)上运行

为了从仿真器(或手机)向服务器发出请求,您需要通过计算机IP地址访问服务器:在windows上,通过在命令提示符下运行ipconfig获取您的IP地址,或者在此处:系统首选项>网络>高级>TCP/IP>IPv4地址


而不是http://localhost:port 你应该使用http://your_ip_address:port

试试这个:然后((响应)=>{console.log(响应);}).catch((错误)=>console.log(“错误”,错误),将记录什么???日志是错误[错误:网络错误]@Zahramirali我想这与我手机上运行的应用程序有关->应该使用不同的url?是的,没错,但我正在扫描二维码并在手机上测试该应用程序。好的,它起作用了,我改为使用我的IP地址。非常感谢,但我有一个问题,如果我想将项目发送给其他人,他应该在完整的代码?或者有解决方案吗?如果他是你的同事,你想同时向他发送后端和前端,他可以更改IP地址,但如果你想将你的应用程序发送给某人进行测试,他不应该更改IP,解决方案:1.当他测试你的应用程序时,你的电脑应该打开(否则您的应用程序无法调用Api)2.将您的nodeJs后端部署到服务器,并用服务器地址替换“localhost”。您好,很抱歉打扰您,但您能帮我解决react native中的另一个小问题吗?当然,如果我能够回答:)