Javascript 这两种post方法[Typescript]之间有什么区别吗?

Javascript 这两种post方法[Typescript]之间有什么区别吗?,javascript,fetch,Javascript,Fetch,您好,我正在尝试使用fetch方法发送请求。通常我会使用axios发送请求。 现在我正在尝试打字脚本中的新功能 这是请求的axios版本。工作正常。电子邮件已发送 axios .post('http://localhost:3000/login/email', { email: emailToBeSent }) .then(res => { alert(emailToBeSent); }) .catch(err => { alert(emailToBe

您好,我正在尝试使用fetch方法发送请求。通常我会使用axios发送请求。 现在我正在尝试打字脚本中的新功能

这是请求的axios版本。工作正常。电子邮件已发送

axios
  .post('http://localhost:3000/login/email', { email: emailToBeSent })
  .then(res => {
    alert(emailToBeSent);
  })
  .catch(err => {
    alert(emailToBeSent + 'error not sent');
  });
但当我尝试提取时,邮件不会被发送,但响应返回成功,但这表明请求不正确

const data = { email: emailToBeSent };
    fetch('http://localhost:3000/login/email', {
      method: 'POST', // or 'PUT'
      body: JSON.stringify(data),
    })
      .then(response => {
        console.log('Success:', response);
      })
      .catch(error => {
        alert('Error:');
      });
有人能告诉我这里缺少什么吗

以下是回应


服务器很可能会拒绝请求,因为未指定内容类型(默认情况下,axios会为您执行此操作)。添加
内容类型
标题:

fetch('http://localhost:3000/login/email', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify(data),
})
关于错误:

从fetch()返回的承诺不会在HTTP错误状态下拒绝,即使响应是HTTP 404或500。相反,它将正常解析(ok status设置为false),并且它只会在网络故障或任何阻止请求完成的情况下拒绝


更多信息

尝试添加
标题:{'Content Type':'application/json'},
获取请求配置考虑使用
async
wait fetch
而不是老式的链式
Promise
处理。HTTP eror不被视为
获取的错误,这就是你有
响应的原因。好吧
看看它实际上是否正常。@AlekseyL。啊,谢谢。显然,我误读了错误信息,因为问题在于CORS。