Угловой почтовый запрос не содержит информации о req.user - PullRequest
0 голосов
/ 22 января 2019

Когда я отправляю запрос 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'});
   });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...