gpt4 book ai didi

angular - 如何访问 http post 响应并解析为 json?

转载 作者:行者123 更新时间:2023-12-05 09:12:52 25 4
gpt4 key购买 nike

我正在尝试将此 POST 发送到 API,但似乎无法访问响应数据(以文本形式出现,我需要解析为 JSON)。

import { HttpClient, HttpHeaders } from '@angular/common/http';
import { tap } from 'rxjs/operators';
import { Storage } from '@ionic/storage';
import { EnvService } from './env.service';
import { Injectable } from '@angular/core';
import { map } from "rxjs/operators";

...

login(email: String, password: String) {

let headers = new HttpHeaders({
'Accept' :'*/*',
'Content-Type' :'text/plain'
});

let formData = {
user : 'myuser',
pass : 'mypass',
retsession : true
}

return this.http.post(this.env.API_URL+'/login', JSON.stringify(formData), {headers:headers}).pipe(
map((res:Response) => (res.text()))
.subscribe(data => {console.log(data)})
);
}

我收到这个错误:

[ng] ERROR in src/app/services/auth.service.ts(42,8): error TS2339: Property 'subscribe' does not exist on type 'OperatorFunction<Response, Promise<string>>'.

我做错了什么吗?

最佳答案

由于来自服务器的响应是文本类型,您是否尝试过在 post 请求中将响应明确指定为文本,如下所示,

this.http.post(url, formData, {responseType: 'text' })

默认情况下,angular HttpClient 尝试将响应作为 json 处理,并在收到基于文本的响应时在解析器中失败,尽管 http 请求成功

关于angular - 如何访问 http post 响应并解析为 json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57293286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com