在build之后重新定向 - prod,使用Angular 5

时间:2018-01-23 17:27:26

标签: angular http

构建后--prod,当我登录时,http请求被发送到服务器,但是当它返回页面时重新加载(重定向到同一页面) 我在控制台日志中没有错误。

它正在使用ng服务。

(生产服务器在Apache上运行)

我还构建了ng build --prod --base-href http://system。******。com /

服务提供商代码

import { Injectable } from '@angular/core';
import { Http, Response, Headers } from '@angular/http';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/toPromise';
import 'rxjs/Rx';
import { Observable }     from 'rxjs/Observable';
import {HttpClient, HttpHeaders} from "@angular/common/http";
@Injectable()
export class UserServiceService {

baseUrl: string = 'http://api.equity.com.eg/api/';
private _options = { headers: new Headers({ 'Content-Type':'application/json' }) };

constructor(public http: HttpClient) {

}

login(userData){
let _options = {headers: new HttpHeaders({ 'Content-Type': 'application/json'})};
return this.http.post(`${this.baseUrl}login`, JSON.stringify(userData), _options);
// .catch(this.handleError);
  }
}

组件代码:

  goToHome() {

    this.userService.login(this.userLogin).subscribe((data: any) => {    
      this.errMsg = false;
      this.cookieService.set('token', data.token);
      window.localStorage.setItem('token', data.token);    
      let test = this.cookieService.get('token');
      this.router.navigateByUrl('pages');
    }, err => {
      console.log(err);
      this.errMsg = true;
    });

.htaccess代码

RewriteEngine On 
# If an existing asset or directory is requested go to it as it is 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR] 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d 
RewriteRule ^ - [L] 
# If the requested resource doesn't exist, use index.html 
RewriteRule ^ /index.html

我尝试更改从服务提供程序发送到旧的http Angular 4方式(.map)的http请求的方式,并发生同样的问题。 此外,我尝试使用论坛中的其他规则更改.htacces以生成角度,同样的问题也出现了。

1 个答案:

答案 0 :(得分:1)

最后,问题出现了,因为uglify没有阻止角度cli中的表单默认行为 @ angular / cli @ 1.6.2 所以他们在 @ angular / cli @ 1.6.3 中解决了这个问题 修复它安装最新的cli global

var result = new List<Func<QueryContainerDescriptor<Review>, QueryContainer>>();
result.Add(a => a.Nested(n => n.Path("teamMembers").Query(q => q.Match(m => m.Field("teamMembers.isVisible").Query("true")))));

然后在角项目文件夹

$ npm uninstall -g angular-cli
$ npm install -g @angular/cli@latest