我正在创建一个与猫鼬nextjs项目,我已经为用户创建了一个登录和注册api。问题是当我将"电子邮件"one_answers"密码"数据传递给api并且我console.log req时,似乎有大量数据正在传递给api,而不仅仅是电子邮件和密码-我已将其开头附在
下面 <ref *2> IncomingMessage { _readableState: ReadableState { objectMode: false, highWaterMark: 16384, buffer: BufferList { head: null, tail: null, length: 0 }, length: 0, pipes: [], flowing: true, ended: true, endEmitted: true, reading: false, constructed: true, sync: true, needReadable: false, emittedReadable: false, readableListening: false, resumeScheduled: false, errorEmitted: false, emitClose: true, autoDestroy: true, destroyed: true,
export default function userLogin() {
const Router = useRouter();
const {redirect} = Router.query
const {state, dispatch} = useContext(theCont);
const { userInfo } = state
const [email, theEmail ] = useState('')
const [password, thePassword] = useState('')
const userLoggingIn = async (e) => {
e.preventDefault();
try {
const {info} = await axios({
method: 'post',
url: `/api/users/login`,
data: {
email, password
}
})
console.log(info)
这是与问题相关的页面/登录页面中的代码。因此,一旦用户输入这些凭据,电子邮件和密码就会分配给电子邮件和密码。一旦用户单击login,就会调用userlogingin函数,该函数将启动axios。post请求。下面返回未定义信息的控制台日志。我的api/login的开头在
下面const handler = nc();
handler.post(async(req, res) => {
await mongooseDatabase.connect();
console.log(req)
console.log(req)返回开始时显示的长列表。
我不确定为什么请求的电子邮件和密码数据没有在axios.post中传递。任何建议都很感激,谢谢
更新我已将此添加到登录api const usersEmail = JSON.stringify(req.body.email)
const usersPassword = JSON.stringify(req.body.password)
console.log(usersEmail)
console.log(usersPassword)
'它会提示正确的电子邮件和密码,但是我现在无法通过猫鼬使用
找到电子邮件。const attemptedEmail =等待用户。findOne({电子邮件:usersEmail})
请求正文应该在请求中。正文,它可能会导致为什么信息未定义以及为什么您无法从console.log(req)
中看到电子邮件和密码的问题。