Xmlhttprequest 在angular 7中使用HttpClient调用Http请求时未发生Api调用
我正在将用Xmlhttprequest 在angular 7中使用HttpClient调用Http请求时未发生Api调用,xmlhttprequest,angular7,angular-httpclient,Xmlhttprequest,Angular7,Angular Httpclient,我正在将用javascript编写的post-API请求转换为typescript,但我的新代码似乎没有运行,因为我在调试器中没有看到任何网络调用。请在下面找到我的代码片段 javascript(工作) 我已经尝试了很多方法来运行上面的代码,但是没有一种方法对我有效。将代码拆分为以下部分。Angular/RxJS不同于普通JavaScript。您创建可观察的http调用,然后订阅者从中读取 将HttpClient注入类中——http调用工作所必需的。(需要其他依赖项才能工作。请参阅) 功能定义
javascript
编写的post-API请求转换为typescript
,但我的新代码似乎没有运行,因为我在调试器中没有看到任何网络调用。请在下面找到我的代码片段
javascript
(工作)
我已经尝试了很多方法来运行上面的代码,但是没有一种方法对我有效。将代码拆分为以下部分。Angular/RxJS不同于普通JavaScript。您创建可观察的http调用,然后订阅者从中读取 将HttpClient注入类中——http调用工作所必需的。(需要其他依赖项才能工作。请参阅) 功能定义
resourcesAccessable(url, token, clientId, resources): Observable<any> {
const payload = new URLSearchParams()
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Bearer ' + token
})
}
payload.set('grant_type', 'urn:ietf:params:oauth:grant-type:uma-ticket')
payload.set('response_mode', 'permissions')
payload.set('audience', clientId)
payload.set('permission', resources)
return this.http.post(url, payload.toString(), httpOptions)
}
this.resourcesAccessable('', '', '', '')
.subscribe(
(data) => {
console.log('----->>>', data);
}
, error => {
console.log('error ' + JSON.stringify(error));
},
() => console.log('Completed'));
试过了,但不起作用。错误{“body”:{“error”:“Collection'realms'not found”},“url”:“localhost:8081/auth/realms/enliven/protocol/openid connect/token”,“headers”:{“normalizedNames”:{},“lazyUpdate”:null},“status”:404,“statusText”:“not found”}您有一个状态404,这意味着您在localhost:8081上的服务器没有提到的路由/api
constructor(protected http: HttpClient) {}
resourcesAccessable(url, token, clientId, resources): Observable<any> {
const payload = new URLSearchParams()
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Bearer ' + token
})
}
payload.set('grant_type', 'urn:ietf:params:oauth:grant-type:uma-ticket')
payload.set('response_mode', 'permissions')
payload.set('audience', clientId)
payload.set('permission', resources)
return this.http.post(url, payload.toString(), httpOptions)
}
this.resourcesAccessable('', '', '', '')
.subscribe(
(data) => {
console.log('----->>>', data);
}
, error => {
console.log('error ' + JSON.stringify(error));
},
() => console.log('Completed'));