我有以下代码:
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请求一样。
尝试其他可能的解决方案均未成功后,我想问大家,我应该如何处理才能使我的信息显示出来?