如何在 post 请求后将错误从我的服务器发送到客户端?
How can I send an error from my server to the client after a post request?
我有以下问题:我想 post 一些 Json 数据到我的 Node.js 服务器,在我的服务器中我想检查电子邮件是否有特定的结尾和如果名称是电子邮件的一部分。如果不是,我想向客户端发送一条错误消息。问题在于,由于捕获,它仅在 mail/name 不匹配时才警告“出现问题”。我怎样才能让它工作,我可以从服务器向客户端发送特定的错误消息?
try {
const response = await fetch(url, {
method: 'POST',
body: JSON.stringify(jsonObject),
headers: {
'Content-Type': 'application/json'
}
});
const json = await response.json();
console.log(json);
window.location.assign(`http://localhost:3000/blog/list`);
} catch(e) {
console.error(e);
alert("Something went wrong");
}
const post = {
author: req.body.author,
email: req.body.email,
};
var mail = req.body.email
var name = req.body.author;
var validMail = mail.indexOf("gmail.com");
var names = name.split(' ');
var i = 0;
var x = false;
var validNames = [];
var error = "a error";
while (i < names.length) {
validNames.push(mail.indexOf(names[i].toLowerCase()))
if (validNames[i] > -1) {
x = true;
}
i++;
}
if (validMail > -1 && x == true) {
posts.push(post);
res.send(post);
} else {
res.send(error);
}
代码示例是否真的在错误的电子邮件中显示“出现错误”?因为它看起来不是这样。 fetch 抛出的唯一方法是死服务器或非 json 响应。
到 return 客户端错误,您可以解析和使用您可以做到这一点
res.status(500).send({error: 'hello i failed'});
然后在客户端你可以做它来处理错误:
const json = await response.json();
if (json.error) {
console.log(json.error);
}
我有以下问题:我想 post 一些 Json 数据到我的 Node.js 服务器,在我的服务器中我想检查电子邮件是否有特定的结尾和如果名称是电子邮件的一部分。如果不是,我想向客户端发送一条错误消息。问题在于,由于捕获,它仅在 mail/name 不匹配时才警告“出现问题”。我怎样才能让它工作,我可以从服务器向客户端发送特定的错误消息?
try {
const response = await fetch(url, {
method: 'POST',
body: JSON.stringify(jsonObject),
headers: {
'Content-Type': 'application/json'
}
});
const json = await response.json();
console.log(json);
window.location.assign(`http://localhost:3000/blog/list`);
} catch(e) {
console.error(e);
alert("Something went wrong");
}
const post = {
author: req.body.author,
email: req.body.email,
};
var mail = req.body.email
var name = req.body.author;
var validMail = mail.indexOf("gmail.com");
var names = name.split(' ');
var i = 0;
var x = false;
var validNames = [];
var error = "a error";
while (i < names.length) {
validNames.push(mail.indexOf(names[i].toLowerCase()))
if (validNames[i] > -1) {
x = true;
}
i++;
}
if (validMail > -1 && x == true) {
posts.push(post);
res.send(post);
} else {
res.send(error);
}
代码示例是否真的在错误的电子邮件中显示“出现错误”?因为它看起来不是这样。 fetch 抛出的唯一方法是死服务器或非 json 响应。
到 return 客户端错误,您可以解析和使用您可以做到这一点
res.status(500).send({error: 'hello i failed'});
然后在客户端你可以做它来处理错误:
const json = await response.json();
if (json.error) {
console.log(json.error);
}