【问题标题】:Specify response data type指定响应数据类型
【发布时间】:2021-10-19 19:10:53
【问题描述】:

我正在从 Angular 10 应用程序调用一个 api,并且正在执行一切正常!但是响应就像一个错误,我收到了这条消息:

“解析 https://APIurl 期间的 Http 失败”

我正在寻找解决方案,现在我知道这是因为来自 api 的响应,我收到以下纯文本响应:

操作成功。

所以我的问题是我可以在我的 Angular 应用程序中做什么来指定我期待的是文本而不是 json。

这是我的服务代码:

public create = (route: string, body: any) => {
    return this.http.post(this.createCompleteRoute(route, this.envUrl.urlAddress), body, this.generateHeaders());
}

private generateHeaders = () => {
    return {
      headers: new HttpHeaders({'Content-Type': 'application/json'})
    }
}

我尝试删除 Content-Type 但不可能,因为 api 需要 FromBody 的值。

【问题讨论】:

    标签: angular asp.net-web-api angular-services angular-httpclient


    【解决方案1】:

    也许把你的标题改成这样

    var headers = new Headers({
        "Content-Type": "text/plain; charset=utf-8",
        "Accept": "text/plain; charset=utf-8"
    });
    

    【讨论】:

    • 我改为 var headers = new Headers({ "Content-Type": "text/plain; charset=utf-8", "Accept": "text/plain; charset=utf-8 " });返回标题;但现在它说我的 http.post 调用中没有匹配的重载
    • 试试这个 public create = (route: string, body: any) => { return this.http.post(this.createCompleteRoute(route, this.envUrl.urlAddress), body, this.generateHeaders()); } private generateHeaders = () => { return { headers: new HttpHeaders({'Content-Type': 'text/plain; charset=utf-8'}) } } 或更改'text/plain; charset=utf-8' by only 'text/plain'
    猜你喜欢
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 2021-06-03
    • 2017-12-28
    • 2022-12-14
    • 2018-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多