将 Javascript Fetch 请求转换为 Angular Http 客户端不起作用
Posted
技术标签:
【中文标题】将 Javascript Fetch 请求转换为 Angular Http 客户端不起作用【英文标题】:Conversion of Javascript Fetch request to Angular Http client not working 【发布时间】:2020-10-30 17:43:48 【问题描述】:我正在尝试使用 Angular HttpClient 访问 truelayer 客户端 API。该请求适用于 Sandbox API,但是,对于实时环境 API,我得到了“internal_server_error”。下面是我的Httpclient代码
this.http.post<tokentype>('https://auth.truelayer.com/connect/token','grant_type':'authorization_code','client_id':'<my-id>','client_secret':'<my-client-secret>','redirect_uri':'<my-redirect-url>','code':'<access-code>', headers: new HttpHeaders('Content-Tye':"application/json; charset=utf-8"))
.subscribe(data =>
console.log('Token Finally Gotten 1:');
console.log(data);
, error =>
console.log('Error 1: ' + JSON.stringify(error))
);
当我将 Url 更改为 https://auth.truelayer-sandbox.com/connect/token
时,它工作正常。下面是我从 Truelayer Postman 那里得到的 jQuery 代码
var settings =
"url": "https://auth.truelayer.com/connect/token",
"method": "POST",
"timeout": 0,
"data":
"grant_type": "authorization_code",
"client_id": "",
"client_secret": "",
"redirect_uri": "https://console.truelayer.com/redirect-page",
"code": ""
;
$.ajax(settings).done(function (response)
console.log(response);
);
【问题讨论】:
【参考方案1】:似乎有些参数不匹配。请验证您输入的 clientid、凭据、redirecturl 等值是否与实时环境相关,而不是沙盒。
【讨论】:
以上是关于将 Javascript Fetch 请求转换为 Angular Http 客户端不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何在 JavaScript 中将 Ajax 转换为 Fetch API?
如何从 fetch javascript 请求的响应中获取数据