要解决Angular发送JSON请求返回417期望失败的问题,你可以按照以下步骤进行:
HttpClientModule模块,这是用于发送HTTP请求的模块。import { HttpClientModule } from '@angular/common/http';
@NgModule({
  // ...
  imports: [
    // ...
    HttpClientModule,
  ],
  // ...
})
export class AppModule { }
HttpClient来发送HTTP请求。import { HttpClient, HttpHeaders } from '@angular/common/http';
@Injectable()
export class DataService {
  constructor(private http: HttpClient) { }
  sendRequest() {
    const url = 'https://example.com/api/endpoint';
    const headers = new HttpHeaders({ 'Content-Type': 'application/json' });
    const body = { key: 'value' };
    return this.http.post(url, body, { headers, observe: 'response' });
  }
}
在发送请求时,添加observe: 'response'选项,以便能够获取完整的响应对象。
在接收响应的地方,你可以通过订阅响应的方式获取HTTP状态码,并根据状态码进行相应的处理。
dataService.sendRequest().subscribe(
  (response) => {
    // 处理成功响应
    console.log('请求成功');
  },
  (error) => {
    // 处理错误响应
    if (error.status === 417) {
      console.log('请求失败:期望失败');
    } else {
      console.log('请求失败:', error);
    }
  }
);
通过上述步骤,你可以在Angular中解决发送JSON请求返回417期望失败的问题,并根据需要进行相应的处理。