这里有什么问题?
TypeError:无法读取未定义的属性(读取“电子邮件”)
和
POST http://localhost:3001/signin 500 (内部服务器错误) xhr.js:220 Uncaught (承诺)AxiosError{消息:‘状态代码500请求失败’,名称:'AxiosError',代码:'ERR_BAD_RESPONSE',配置:{…},请求: XMLHttpRequest,…}
/userRouter
const router = express.Router()
const User = require("../models/userModel")
router.route("/signin").post((req, res, next) =>{
const email = req.body.email;
const password = req.body.password;
const newUser = new User({
email,
password
});
newUser.save()
})
module.exports = router; /userModel
const Schema = mongoose.Schema
const userSchema = new Schema({
email: '',
password: ''
})
const User = mongoose.model("User", userSchema)
module.exports = User;/server
const app = express()
const cors = require("cors")
const mongoose = require("mongoose")
app.use(cors())
app.use(express())
//connect to mongoose
mongoose.connect("mongodb+srv://daw_dzieniszewski:******@cluster0.mn9uw.mongodb.net/firma_edukacyjna")
//require route
app.use("/", require("./backend/routes/userRoute"))
app.listen(3001, function (){
console.log("express server is running on port 3001")
})/SigninC
import {Container} from "react-bootstrap"
import axios from "axios";
function SignInC() {
const [input, setInput] = useState({
email: '',
password: ''
})
function handleChange(event) {
const {name, value} = event.target;
setInput(prevInput => {
return {
...prevInput,
[name]: value
}
})
}
function handleClick(event) {
event.preventDefault();
console.log(input);
const newUser = {
email: input.email,
password:input.password
}
axios.post('http://localhost:3001/signin', newUser)
.then(function (response) {
console.log(response);
})
}
return (
<div className="p-5 m-3 d-sm-flex">
<Container className="container-sm w-auto p-5 border rounded-4 bg-light">
<div>
<form>
<div className="mb-4">
<label htmlFor="InputEmail"
className="form-label fs-4">Email address</label>
<input onChange={handleChange}
name="email" value={input.email}
type="email"
className="form-control form-control-sm"
id="exampleInputEmail1"></input>
</div>
<div className="mb-4">
<label htmlFor="InputPassword1"
className="form-label fs-4">Password</label>
<input type="password"
className="form-control"
id="exampleInputPassword1"></input>
</div>
<div className="mb-4">
<label htmlFor="InputPassword2"
className="form-label fs-4">Repeat password</label>
<input onChange={handleChange}
value={input.password}
name="password"
type="password"
className="form-control"
id="exampleInputPassword2"></input>
</div>
<button onClick={handleClick} type="submit" className="btn btn-primary">Sign In</button>
</form>
</div>
</Container>
</div>
);
}
export default SignInC;发布于 2022-08-23 13:51:55
尝试在您的await newUser.save()中使用newUser.save()而不是newUser.save(),并使函数异步async (req,res,next)
https://stackoverflow.com/questions/73459719
复制相似问题