수신되는 오류 메시지는 다음과 같습니다Node.js를/몽구스가/lodash - 서버 응답 :. 사용자 확인이 실패 : 경로`foo`이 필요
"사용자 유효성 검사 실패 : 이메일 : 경로
display_name
이 필요합니다. "
보내질 오류 이름은 다음과 같습니다. ValidationError.
AJAX 호출을위한 코드는 다음과 같습니다
function submit_new_user(display_name, email, password){
let user_data = new New_User(display_name, email, password);
console.log(user_data);
$.ajax ({
dataType: 'JSON',
data: user_data,
method:'POST',
url: 'http://localhost:3001/user',
success: (res)=>{
console.log(res);
},
error: (xhr, ajaxOptions, thrownError)=>{
console.log(xhr, ajaxOptions, thrownError);
}
});
}; 인쇄 위에서 본
을 console.log :
New_User {display_name: "test", email: "[email protected]", password: "Passw0rd"}
서버 경로가이 : 우편 배달부로 ping을 할 때
app.post('/user', (req, res)=>{
let body = _.pick(req.body, ['display_name', 'email', 'password']);
let user = new User(body);
user.save().then(()=>{
return user.generateAuthToken();
}).then((token)=>{
res.header('x-auth', token).send(user);
}).catch((err)=>{
res.status(400).send(err);
});
});
이 경로는 작동합니다. 서버는 cors를 지원합니다.
모델은 다음과 같다 :
var UserSchema = new mongoose.Schema({
display_name: {
type: String,
unique: true,
required: true,
validate: {
validator: (val)=>{
return /^[\w\s]+$/.test(val);
},
message: '{VALUE} is not a valid display name. Only
alphanumeric, upper and lower case characters are allowed.'
}
},
email: {
type: String,
required: true,
unique: true,
validate: {
validator: validator.isEmail,
message: '{VALUE} is not a valid email.'
}
},
password: {
type: String,
require: true,
minlength: 6
},
tokens: [{
access:{
type: String,
required: true
},
token: {
type: String,
required: true
}
}]
});
난 아직 배우는 중이에요 node.js.을 필자는 API 생성 과정을 안내 받았고 자체적으로 프론트 엔드를 구축하려고합니다.
떠나는 개체는 세 개의 값 쌍을 포함하지만 서버가 변경하기 전에 도착하는 개체는 비어 있습니다. 나는 왜 그런지 상실감을 느낀다.