Когда я отправляю запрос Post или Put, req.user не определен.Однако, когда я делаю запрос get, я мог получить значение логина req.user.
Технологический фон Node js, сервер Express, Mongoose, express-session, Angular 7.1.
Когда я использую Postman, он работает нормально, как и ожидалось.Я был бы рад, если бы кто-то мог объяснить мне, что я делаю неправильно
Это для угловой версии 7. Я попытался установить для учетных данных значение true, и это сработало для запроса get, но не смогло работать для пост-запроса
Вот мой код
Клиентский сайт здесь это компонент страницы ts
import {PostService} from './post.service';
export class HomepageComponent implements OnInit {
constructor(private _post: PostService) {
this._post.GetPost()
.subscribe(data => this.allPost = data);
}
}
на компоненте createPost ts
import { Component, OnInit } from '@angular/core';
import {PostService} from '../homepage/post.service';
export class CreatePostComponent implements OnInit {
title: string;
desc: string;
authorid: string;
constructor(private post: PostService){}
PostSubmit(){
this.post.PostCreate(this.title, this.desc, this.authorid)
.subscribe(
data=>{this.router.navigate(['/Post']);},
(err) => {console.log(err.status);});
}
}
здесь это post service.ts
import { HttpClient, HttpHeaders } from '@angular/common/http';
export class PostService {
constructor(private http: HttpClient) { }
GetPost(){
return this.http.get<any[]>('http://127.0.0.1:4000/post',{
observe:'body',
withCredentials:true,
headers:new HttpHeaders().append('Content-Type','application/json')
});
}
PostCreate(title:string, description:string, id:string){
return this.http.post('http://127.0.0.1:4000/post'{title,description,id,
observe:'body',
withCredentials:true,
headers:new HttpHeaders().append('Content-Type','application/json')
});
}
}
На стороне сервера.Насколько мне известно конфигурация паспорта, API маршрутов работает нормально.при необходимости буду рад включить его позже.Файл post.js на стороне сервера
router.get('/post', (req, res)=>{
console.log(req.user);
Post.find({})
.populate('author')
.sort({created_At: "desc"})
.exec((err, allPost)=>{
if (err) {console.log(err);}
res.json(allPost);
});
});
router.post('/post', (req, res)=>{
console.log(req.user);
if (!req.body.title||!req.body.description) {
return res.status(405).json({message:'Post is Empty'})
}
var newPost = {
title: req.body.title,
description: req.sanitize(req.body.description),
author: req.body.id
};
Post.create(newPost, (err, post)=> {
if (err) {return res.status(501).json(err);}
return res.status(201).json({message:'Post Successful'});
});
});