如何处理OPTION请求?

时间:2019-03-15 06:17:15

标签: http fetch

我有以下代码:

window.fetch(myServerURL, {
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },
  method: "POST",
  body: JSON.stringify(app.jsonRequest)
})
.then(res => res.json())
  .then(json => {
    if (json.affectedRows === 1) {
      okMessage("Be welcome and check your email!");
    } else {
      errorMessage('Sorry! Please try again later.');
    }
})

有权将邮件发送到我的后端服务器,并使用MySQL数据库向我的系统注册一个新用户。一切正常,但是我的消息没有显示。

(是的,我知道我应该测试json.affectedRows以外的其他内容,以确保可以正确地插入寄存器,但是我正在简化问题以使内容在此处清楚。)

这比我检测预检请求OPTIONS时要发生,这使我的逻辑望而却步,因为它似乎首先收到了OPTIONS答案,并且没有受影响的行进行比较。实际上,由于服务器端配置了CORS,因此OPTIONS请求仅生成OK

另一方面,当我写

.then(json => {
  console.log(json);
}

要尝试捕获此OK对OPTIONS请求的答案,答案是

{"fieldCount":0,"affectedRows":1,"insertId":1845,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}

就像没有任何OPTIONS请求一样。

尝试其他可能的解决方案均未成功后,我想问大家,我应该如何处理才能使我的信息显示出来?

0 个答案:

没有答案
相关问题