我正在尝试从Ionic应用程序工作向nodejs服务器发出POST请求,但我偶然发现了这个错误。
Http failure response for http://127.0.0.1:3000/services/user/signin: 500 Internal Server Error", SyntaxError: Unexpected token u in JSON at position 0;
我可以访问应用程序和API服务器。手头的任务,尝试将凭据发送到服务器,这将检查这些凭据是否被识别并将发送响应。服务器端代码工作正常,因为我有一个Web应用程序访问相同的资源,并像魅力一样工作。
这是代码。
主页:
doLogin() {
this.remoteService.login(this.user);
}
user是键值数组
user = { email:'', password:'' };
现在为remoteService注入中的登录功能:
login(user){
let headers = new HttpHeaders();
headers.append('Content-Type', 'application/json');
console.log(JSON.stringify(user));
this.http.post(serviceUrl+'/user/signin', JSON.stringify(user), {headers: headers}).subscribe(
function(response) { console.log("Success Response" + response)},
(err: HttpErrorResponse) => {
if (err.error instanceof Error) {
console.log(err);
} else {
console.log(err);
}
}
);
}
我用过这一行
console.log(JSON.stringify(user));
测试JSON正确性的函数参数,它是一个魅力。
最后,这是nodejs服务器代码
if(label === 'signin') {
return function (req, res, next) {
{
var user = JSON.parse(req.query.user);
db.query('SELECT username as id FROM user where email = ? and password = ?', [user.email,user.password], function (err, result) {
if (err) {
next(err);
}
else {
if(result.length === 1) {
delete user.password;
req.session.user = result[0];
req.result = 400;
}
else
{
req.result = 404;
}
next();
}
});
}
};
}
你能帮我解决一下这个令人讨厌的错误吗?我整天都在为这一天和昨晚的很大一部分敲打我的脑袋。