Я пытаюсь использовать вход в систему с angular и хочу вернуть логическое значение, которое говорит, что я вошел в систему, но оно не возвращает его, даже если я поставил его как службу.
Воткод сервера
var loggedin = Boolean;
app.post('/auth', function(request,response){
var username = request.body.username;
var password = request.body.password;
console.log(username);
console.log(password);
if(username && password){
connection.query('SELECT * FROM accounts WHERE username = ? AND password = ?', [username,password], function(error,results,fields){
if (results.length > 0){
request.session.loggedin = true;
request.session.username = username;
// response.redirect('/home');
console.log("Credentials are correct!")
//res.send(result);
loggedin = true;
response.send(loggedin)
} else{
response.send('Incorrect login details!');
console.log("Wrong credentials!")
loggedin = false;
}
response.end();
});
} else {
response.send('Please enter your username and or password');
response.end();
}});
угловой компонент
export class LoginbarComponent implements OnInit {
constructor(private modalService: NgbModal,private service:PostService{}
Logres: Boolean = false;
ngOnInit() {
}
private obj : any = {"Email": "", "pass" : ""};
test(){
this.service.PostLogin(this.obj.Email,this.obj.pass);
console.log(this.obj.Email,this.obj.pass);
this.service.GetResponse().subscribe(logres =>{
this.Logres=logres;
})}
угловой сервис
GetResponse(){
return this.http.get<Boolean>('http://localhost:3000/auth')}
полный сервисный код
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { DatabaseService } from './database.service';
import { ForumPost } from './post';
@Injectable({
providedIn: 'root'
})
export class PostService {
topics: string[] = [];
threads: string[] = [];
posts: PostService[] = [];
GetTopic() {
return this.http.get<String>("http://localhost:3000/gettopics")
}
Getthread(thread) {
return this.http.get<String>
(`http://localhost:3000/getthread/${thread}`)
}
Getpost(post) {
return this.http.get<ForumPost(`http://localhost:3000/getthread/${post}`)
}
GetResponse(){
return this.http.get<Boolean>('http://localhost:3000/auth')
}
PostLogin(username,password){
console.log("Username:" +username);
console.log("Password:" +password);
this.http.post("http://localhost:3000/auth",
{"username":username,"password":password}).subscribe((data)=>{
console.log(data)
});
}
constructor( private http: HttpClient,
private databaseService: DatabaseService) {
}
}
я добавил остальныекода, чтобы дать некоторую справочную информацию без необходимости отвечать индивидуально.