HTTP редирект на угловой? - PullRequest
0 голосов
/ 23 января 2019

Я строю свои внешние проекты на angular, back-end в nodejs.

Я отправляю POST-запрос на сервер (экспресс, паспорт) из angular (HttpClient), сервер отправляет мне ответ путем перенаправления в какой-либо каталог, но angular не перенаправляет меня.

Мне нужно обрабатывать ответы с сервера по угловым, или я что-то не знаю? nodejs - app.js:

app.use('/', express.static(path.join(__dirname, '/dist/practice/')));
app.get('*', function(req, res) {
    res.sendFile(path.join(__dirname, '/dist/practice/index.html'));
});
app.use('/', router); // this is base siting on nodejs

маршрутизаторы nodejs:

router.post('/login', (req, res, next) => {
    passport.authenticate('local', {
        successRedirect : '/profile',
        failureRedirect : '/error',
        failureFlash : true
    })(req, res, next);
}); 

// это метод POST от углового:

postData(user) {
      return this.http.post('/login', user, {responseType: 'text', observe: 'response'});
  } 

// это функция для обработки POST-обработки на компоненте по углу:

onSubmit(){
      this.httpService.postData(JSON.stringify(this.user))
        .subscribe(res => {
          console.log(res)
        },
        error => console.log(error)
      );
  } 

Это маршрут на угловой:

some imports....
import { Routes, RouterModule } from '@angular/router';

const appRoutes: Routes = [
  {path: '', component: AppComponent},
  {path: 'profile', component: ProfileComponent},
  {path: 'login', component: LoginComponent},
  {path: '**', component: NotFoundComponent}
]

@NgModule({
  declarations: [
    AppComponent,
    LoginComponent,
    MySheetComponent,
    ProfileComponent,
    NotFoundComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    BrowserAnimationsModule,
    MatButtonModule,
    MatBottomSheetModule,
    MatInputModule,
    MatFormFieldModule,
    ReactiveFormsModule,
    FormsModule,
    HttpClientModule,
    RouterModule.forRoot(appRoutes)
  ],
  entryComponents: [
    LoginComponent,
    MySheetComponent
  ],
  providers: [HTTPService],
  bootstrap: [AppComponent]
})
export class AppModule { }

1 Ответ

0 голосов
/ 23 января 2019

Предположим, сервер перенаправляет вас в каталог, подобный C: /Users/Lenovo/Downloads/Compressed/menue/index.html, тогда вам следует использовать window.location.href = 'C: / Users / Lenovo / Downloads / Compressed / menue/index.html 'перезагрузит страницу в той же вкладке.Но это плохая практика, а не угловатое свойство не должно перезагружать страницу.Вы должны использовать функцию маршрутизации угловых.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...