Fetch() API in react native 失败 - "Unhandled promise rejection"



我试图在反应本机中使用 Fetch api,但我遇到了一些问题。每当我尝试进行 POST 时,我都会收到"未处理的承诺拒绝"错误,指出正文不允许进行 GET 或 HEAD 重新请求。

GET方法工作得很好,它只是在POST上。

有什么想法吗?

submit_task() {
    this.setModalVisible(!this.state.modalVisible);
    const task = {
        text: this.state.content,
        date: this.state.date
    }
    console.log(task);
    const API_URL = 'http://localhost:5000/tasks';
    fetch(API_URL, {
        methood: 'POST',
        body: JSON.stringify(task),
        headers: {
            'Content-Type': 'application-json',
        }
    })
}

您的抓取选项中有一个拼写错误methood应该method。除了这个问题之外,建议从 Promise 中catch错误,如下所示:

submit_task() {
    this.setModalVisible(!this.state.modalVisible);
    const task = {
        text: this.state.content,
        date: this.state.date
    }
    const API_URL = 'http://localhost:5000/tasks';
    fetch(API_URL, {
        method: 'POST',
        body: JSON.stringify(task),
        headers: {
            'Content-Type': 'application-json',
        }
    }).catch(error => {
      // Maybe present some error/failure UI to the user here
    });
}
此错误是因为

您没有在 API 调用中使用 .catch 像这样使用 .catch

submit_task() {
    this.setModalVisible(!this.state.modalVisible);
    const task = {
        text: this.state.content,
        date: this.state.date
    }
    console.log(task);
    const API_URL = 'http://localhost:5000/tasks';
    fetch(API_URL, {
        methood: 'POST',
        body: JSON.stringify(task),
        headers: {
            'Content-Type': 'application-json',
        }
    })
.catch(error => {
      console.log('found error', error)
    });
    }

或者在尝试并使用 catch 函数来处理异常或错误的情况下进行 api 调用。

  try {
    submit_task() {
    this.setModalVisible(!this.state.modalVisible);
    const task = {
        text: this.state.content,
        date: this.state.date
    }
    console.log(task);
    const API_URL = 'http://localhost:5000/tasks';
    fetch(API_URL, {
        methood: 'POST',
        body: JSON.stringify(task),
        headers: {
            'Content-Type': 'application-json',
        }
    })
}
}
  catch(e){
   console.log('found error', error)
}

相关内容

  • 没有找到相关文章

最新更新