Привет Пожалуйста, помогите борющимся разработчикам.
Я весь день пытался исправить это безрезультатно. По сути, все, что я хочу сделать, это отправлять сообщения из моего класса AddUsers и сохранять их в моей базе данных sql. Это очень простой запрос, но он мне помог! Состояние обновляется при изменении, но, похоже, проблема с сервером. js (ошибка включена в конец сообщения)
Сервер. js
app.post("/admin-Add-Users", function(req, res) {
var request = new sql.Request();
// query to the database and get the records
request.query(
"insert into Login (email, password) values ('" +
req.body.email +
"','" +
req.body.password +
"')",
function(err, recordset) {
if (err) console.log(err);
}
);
res.send({ message: "Success" });
});
Класс AddUsers
class AddUsers extends React.Component {
constructor() {
super();
this.state = { users: [], email: "", password: "" };
this.onSubmit = this.handleSubmit.bind(this);
}
handleSubmit(e) {
e.preventDefault();
const data = { email: this.state.email, password: this.state.password };
fetch("/admin-Add-Users", {
method: "POST", // or 'PUT'
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => {
console.log("Success:", data);
})
.catch(error => {
console.error("Error:", error);
});
}
render() {
console.log(this.state.users);
return (
<div>
<LoginForm></LoginForm>
<form>
<input
type="text"
placeholder="email"
value={this.state.email}
onChange={e => this.setState({ email: e.target.value })}
/>
<input
type="text"
placeholder="password"
value={this.state.password}
onChange={e => this.setState({ password: e.target.value })}
/>
<input type="submit" onClick={this.onSubmit} />
</form>
</div>
);
}
}
ReferenceError: email is not defined
ОБНОВЛЕНИЕ: После попытки получить рекомендации, которые я получил, я теперь возвращаю новую ошибку.
Error: SyntaxError: Unexpected token < in JSON at position 0