使用React应用程序中的axios将数据传递到Web服务

时间:2019-02-09 07:26:49

标签: reactjs axios

我有一个intellij项目,该项目在localhost:8022中运行Web服务。当我运行这个项目 并使用此url(http://localhost:8022/api/vi/solutionj/solutionj-requests)通过postman发布数据 它工作得很好。我的数据被写入数据库。这只是表明我可以访问此网址。

{
  "branchId": 1,
  "customerEmail": "john@yahoo.com",
  "firstName": "Johnny",
  "lastName": "Jacob"
}

但是,我需要通过react应用程序并单击按钮来传递此数据 我调用下面的函数。我正在使用Axios。

我在intellij项目中设置了一个断点,但无法到达终点。我决定 考虑是否使用axios错误的方式。

handleDatabaseStorage = (branchId, customerEmail, firstName, lastName) => {
  //webapi url
  const SOLUTIONJ_BASE_URL = `http://localhost:8022/api/vi/solutionj/solutionj-requests`;

  try {
    AXIOS_AUTHED.post(SOLUTIONJ_BASE_URL, {
      branchId: branchId,
      customerEmail: customerEmail,
      firstName: firstName,
      lastName: lastName
    });
  } catch (error) {
    console.error(error);
  }
};

我在上面的代码中做错了什么?我没有收到任何错误,数据是 没有写入我的数据库。我需要知道是否有例外。我的网络服务正在期待 以上所有字段。

2 个答案:

答案 0 :(得分:0)

您可以使用.then和.catch分别获取成功和错误响应。

AXIOS_AUTHED.post(SOLUTIONJ_BASE_URL, {
  branchId: branchId,
  customerEmail: customerEmail,
  firstName: firstName,
  lastName: lastName
},{
  headers: {
    "Content-Type": "application/json"
  }
}).then(res => {
  console.log(res);
}).catch(err => {
  console.log(err);
});

答案 1 :(得分:0)

这样使用

const SOLUTIONJ_BASE_URL = `http://localhost:8022/api/vi/solutionj/solutionj-requests`;

let data = {
  branchId: branchId,
  customerEmail: customerEmail,
  firstName: firstName,
  lastName: lastName
}

let reqObj = {
  method:'POST',
  data:data, //above data variable
  url:SOLUTIONJ_BASE_URL    
}

axios(reqObj)
.then((res)=>{console.log(res)})
.catch((err)=>{console.log(err)})