【问题标题】:How to receive current routes response in angular CLI?如何在角度 CLI 中接收当前路由响应?
【发布时间】:2018-07-24 18:13:40
【问题描述】:

对单个应用程序使用angualar cli和nodejs,在nodejs中配置passportjs,node提供用户数据并返回带有角度端口的对象,如何在ngOnInit()接收角度路由中的此响应?

重定向网址:http://localhost:4200/api/pauth?code=4%2FAAAOF7UrUC...

我也有相同的角度路径/api/pauth 来访问数据。

对上述 URL 的响应(来自 nodejs):

{"status":"0","message":"Looged in successfully","user":{"_id":"5a797783cb91253f8c667232","email":"example@gmail.com","password":"ya9.GltZBYvinL7N6D6OvgQ1z2Poa7ceOO3TS7LQB-CcsT3","authType":"google","createdAt":"2018-02-06T09:38:11.965Z","updatedAt":"2018-02-06T09:38:11.965Z","__v":0}}

component.ts:

constructor(private http:Http, private router:Router,private httpc: HttpClient) { }

ngOnInit() {
    console.log(this.router.url);
    this.http.get(this.router.url).subscribe(res => {
      this.posts = res;
      console.log(this.posts);
    });
}

【问题讨论】:

  • 是否在进行 API 调用? @151291
  • @rohith - Angular 对 nodejs 进行 api 调用。 angular 和 nodejs 都遵循路线。并在浏览器中获取上述 url 的响应,但不知道如何在组件中接收它。
  • 你想从 url 中获取价值?
  • 在浏览器 url 你得到一个数据?但是当你通过 Angular 进行 api 调用时,你没有得到?检查网络是否正在发生 api 调用?
  • @rohith - 一直通过浏览器 url 获取对象数据。

标签: node.js angular angular-cli angular-components


【解决方案1】:

替代解决方案:

两个端口混合时无法访问对象响应,需要使用参数从 Node JS 重定向,现在可以处理角度路由。

来自节点的示例 - api.js

var code = req.user._id;
var url = 'http://localhost:4200/pauth?id='+code;
res.redirect(url);

【讨论】:

  • 这是什么?您的问题的一部分?
  • 如果是这样,请把它放在你的问题中,而不是在这里。
  • @juancab - 这是我的替代解决方案,但无法访问响应。
【解决方案2】:

我会用 httpclient 告诉解决方案,我希望你在 app.module.ts 中导入 httpclient 模块

constructor(private http: HttpClient) {
   let headers = new HttpHeaders({'Content-Type': 'application/json' });
   this.options =headers;
}
ngOninit(){
   this.getdata().subscribe(data=>{console.log(data)})
}
getdata(){
   this.http.get<any>(url,
     {headers:this.options,responseType:"json",observe:"response"})
     .map(res =>res.body)
}

【讨论】:

  • 当前网址有响应,需要手动添加吗?
  • 不,您必须设置标头,因为您的请求返回 json
猜你喜欢
  • 2017-09-12
  • 2023-02-02
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 2017-12-07
  • 1970-01-01
  • 2017-12-02
相关资源
最近更新 更多