使用Angular的http client发送请求,请求response总是被当成json类型处理
2023-09-14 09:04:02 时间
奇怪的问题,我的req.responseType字段没有显式赋值,而默认值为json:
这个默认值是在哪里填充的呢?
调试代码,http.js的第1669行有这个默认的逻辑:
解决方案:下图第26行
responseType: 'text' as 'json'
import { Component, OnInit } from '@angular/core';
import { FormControl } from '@angular/forms';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs';
const ENDPOINT = "http://localhost:3000/echo?data=";
@Component({
selector: 'jerryform',
template: `
<input type="text" [formControl]="favoriteColorControl">
`
})
export class ReactFormComponent implements OnInit {
constructor(private http:HttpClient){
}
ngOnInit(): void {
const headers: HttpHeaders = new HttpHeaders({
'Accept': 'text/html',
});
const options = {
headers: headers,
responseType: 'text' as 'json'
}
this.favoriteColorControl.valueChanges.subscribe(
(value) =>{
console.log('new value: ' + value);
var $http = this.http.get('http://localhost:3000/angular/' + value, options);
$http.subscribe(
(response)=>console.log('response from http: ' + response),
(error)=>console.log('error: ' + error));
}
)
}
favoriteColorControl = new FormControl('');
}
更多Jerry的原创文章,尽在:“汪子熙”:
相关文章
- 【响应式编程的思维艺术】 (5)Angular中Rxjs的应用示例
- 【Angular专题】 (3)装饰器decorator,一块语法糖
- [Angular] How to show global loading spinner for application between page navigation
- [Angular] Set Metadata in HTTP Headers with Angular HttpHeaders
- [Angular] Handle HTTP Errors in Angular with HttpErrorResponse interface
- [Angular] Protect The Session Id with https and http only
- [Angular 2] Transclusion in Angular 2
- [Angular] Improve Server Communication in Ngrx Effects with NX Data Persistence in Angular
- [Angular] Angular Attribute Decorator - When to use it?
- [Angular] Progress HTTP Events with 'HttpRequest'
- [Angular] Testing @Input and @Output bindings
- [Angular 2] Using Promise to Http
- [Angular-Scaled Web] 8. Using $http to load JSON data
- [AngularJS] Angular 1.3: ng-model-options updateOn, debounce
- Angular 服务器端渲染场景里,服务器端和客户端渲染出的 HTML 源代码有可能不完全一致
- Angular 依赖的测试和 Fake
- Angular self study 3 - data binding
- Angular和SAP C4C的事件处理队列
- 什么是 Angular library 的 secondary entry points?
- Angular 里 HTTP 请求和响应结构的拦截器(interceptors)在 SAP Spartacus 中的应用
- 关于 Angular HTTP Interceptor 中 Request 和 Response 的 immutable 特性
- 关于Angular使用http发送请求后的响应处理
- Angular jasmine单元测试框架里describe的实现原理
- Angular里setTimeout和change detection的关系
- Angular http client发起的请求在Chrome开发者工具network标签页里观察到的界面
- Angular里遇到的一个依赖注入问题以及解决办法