【问题标题】:Response.data is empty when I hit api using Axios.create but it gives response when I use axios.post当我使用 Axios.create 访问 api 时,Response.data 为空,但是当我使用 axios.post 时它会给出响应
【发布时间】:2021-10-06 12:24:06
【问题描述】:

我正在尝试使用 axios 访问 API,但 response.data 变量为空。在使用 axios.create 但当我直接使用 axios.post 访问 API 时。它工作正常。我想通过 axios.create 得到响应。这是我的 axios 创建代码

const client = axios.create({
baseURL: BASE_URL,
headers: {
"Content-Type": "application/json",
"Accept": "application/json",
},
});

我的post请求方法是:

export const postRequest = (url, payload = {}) => client.post(url, payload);

当我请求我调用这个方法时:

  const res = await postRequest('/login', body)

【问题讨论】:

    标签: javascript react-native axios


    【解决方案1】:

    axios.create 返回具有属性.requestclient,而不是.post

    来自https://masteringjs.io/tutorials/axios/create-post的示例

    const client = axios.create({
      url: '/post',
      baseURL: 'https://httpbin.org',
      method: 'POST',
      timeout: 1000
    });
    
    let res = await client .request({
      data: {
        name: 'Masteringjs.io',
        email: 'Masteringjs@io'
      }
    });
    
    res.data.json // ↓
    // { email: 'Masteringjs@io', name: 'Masteringjs.io' }
    

    所以你的代码应该是这样的:

    const client = axios.create({
      baseURL: BASE_URL,
      headers: {
        "Content-Type": "application/json",
        "Accept": "application/json",
      },
      method: "POST"
    });
    
    export const postRequest = (url, payload = {}) => client.request({ url, data: payload });
    
    const res = await postRequest('/login', body)
    
    

    【讨论】:

      【解决方案2】:

      你需要这样做。我正在使用这个测试 API https://jsonplaceholder.typicode.com/,您可以使用提到的 URL 交叉检查我的 sn-p 响应。

      const client = axios.create({
        baseURL: 'https://jsonplaceholder.typicode.com',
      });
      
      
      client({
        'method': 'GET',
        'url': '/todos/1'
      }).then((res) => console.log(res.data))
      <script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.21.1/axios.min.js"></script>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-19
        • 1970-01-01
        相关资源
        最近更新 更多