angular - 尝试使用角度参数提取值
问题描述
我正在尝试将数据从“ http://169.38.82.132:94/GetFarmerInfo ”传递到“ http://localhost:4200/ ”。在这个网址“ http://169.38.82.132:94/GetFarmerInfo ”中,我试图将参数作为“授权和实例名称”传递,所以我的配置文件是
{
"/api": {
"target": "http://169.38.82.132:94",
"secure": false,
"Authorization": "bearer uRf0e8upueR4qTh_HSjzF9KiVxuXN8qK4UqHZez4LdX7DYZOsee4h0Fq1PupKGTFEIzbjq9gjiaVOtPeoayIh212nDyHOEilH2chHeXz4pXzAb8YLC4aJZ0WAEOmq0werPUeaS5c5frXo_P3iwXFtTezCxsYRkNnrXoLOfkHJsxRGW91m19EqzQgqcY5q6jQUQRZeXB9KYpI6THLLnED7ZQDNJZgTjdcuKCb-Gmb1XHD_L_V_BDlbuaEcjH3Qx52f2wOsmtyWGGQEjRMfOFtpO3KJFFmpEIVH0WxsRl5L-eg7S21i_tuT1rDQMdapXiS",
"InstanceName":"ORISSA",
"pathRewrite": {
"/": ""
}
},
"logLevel": "debug"
}
我的服务文件是
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class PeopleService {
constructor(private http:HttpClient) { }
fetchPeople(): Observable<Object>{
return this.http.get('/GetFarmerInfo');
};
}
运行 npm start 后,我得到的响应为“GET http://localhost:4200/GetFarmerInfo 404 (Not Found)”。有没有其他方法可以传递参数。
解决方案
将您的获取人员功能更改为。
fetchPeople(): Observable<Object>{
return this.http.get('http://169.38.82.132:94/GetFarmerInfo');
};
您必须提供 API 的确切 URL。
http://169.38.82.132:94/GetFarmerInfo
在您的 HTTP 函数中。
添加标题
let headers = new HttpHeaders({
'Authorization': 'bearer uRf0e8upueR4qTh_HSjzF9KiVxuXN8qK4UqHZez4LdX7DYZOsee4h0Fq1PupKGTFEIzbjq9gjiaVOtPeoayIh212nDyHOEilH2chHeXz4pXzAb8YLC4aJZ0WAEOmq0werPUeaS5c5frXo_P3iwXFtTezCxsYRkNnrXoLOfkHJsxRGW91m19EqzQgqcY5q6jQUQRZeXB9KYpI6THLLnED7ZQDNJZgTjdcuKCb-Gmb1XHD_L_V_BDlbuaEcjH3Qx52f2wOsmtyWGGQEjRMfOFtpO3KJFFmpEIVH0WxsRl5L-eg7S21i_tuT1rDQMdapXiS',
'InstanceName': 'ORISSA'
});
然后在你的函数中传递标题。
fetchPeople(): Observable<Object>{
return this.http.get('http://169.38.82.132:94/GetFarmerInfo', { headers: this.headers});
};
我建议您对所有 http 请求使用HTTP 拦截器。
试试这个代码
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
@Injectable({ providedIn: 'root' })
export class PeopleService {
constructor(private http: HttpClient) { }
headers = new HttpHeaders({ 'Authorization': 'bearer uRf0e8upueR4qTh....', 'InstanceName': 'ORISSA' });
fetchPeople() { return this.http.get('http://169.38.82.132:94/GetFarmerInfo', { headers: this.headers }); };
}
推荐阅读
- c# - 如何将附件上传到服务器,Net Core+React(Redux)
- bdd - 有没有办法在一个场景中设置变量并在空手道框架的另一个场景中使用它们?
- javascript - 使用 Javascript 将 base64 图像保存到文件路径
- powershell - 在 Windows Server 2003 上使用 Where-Object 按日期过滤 Get-WmiObject
- javascript - Safari 中不存在 Analyser.getFloatTimeDomainData()
- c# - WPF 在 ListBox 子元素中设置参数
- html - 未找到滚动行为
- r - 如何编辑此代码以在数据集中包含年龄组
- ruby-on-rails - 覆盖设计参数
- java - 如何将自定义查询与 Spring Boot 数据 jpa 一起使用