Angular【http服务端交互】

启用 Http 服务

  • 打开AppModule
  • @angular/common/http导入 HttpClientModule
  • 添加到 @NgModule 的 imports 数组
typescript 复制代码
// app.module.ts:
 
import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
 
// 导入 HttpClientModule
import {HttpClientModule} from '@angular/common/http';
 
@NgModule({
  imports: [
    BrowserModule,
    // 'imports' 添加 HttpClientModule 模块
    HttpClientModule,
  ],
})
export class MyAppModule {}

发起一个 get 请求

typescript 复制代码
@Component(...)
export class MyComponent implements OnInit {
 
  results: string[];
 
  // 将HttpClient注入到组件或服务中
  constructor(private http: HttpClient) {}
 
  ngOnInit(): void {
    // 发起 HTTP 请求
    this.http.get('/api/items').subscribe(data => {
      // 从JSON响应中读取结果字段
      this.results = data['results'];
    });
  }
}

错误处理

typescript 复制代码
http
  .get('/api/items')
  .subscribe(
    // Successful responses call the first callback.
    data => {...},
    // Errors will call this callback instead:
    err => {
      console.log('Something went wrong!');	
    }
  );
相关推荐
wuhen_n12 分钟前
Pinia状态管理原理:从响应式核心到源码实现
前端·javascript·vue.js
陆枫Larry29 分钟前
小程序 scroll-view 设置 padding 右侧不生效?用一层包裹解决
前端
晴殇i44 分钟前
CommonJS 与 ES6 模块引入的区别详解
前端·javascript·面试
Selicens1 小时前
git批量删除本地多余分支
前端·git·后端
wuhen_n1 小时前
KeepAlive:组件缓存实现深度解析
前端·javascript·vue.js
前端付豪1 小时前
Nest 项目小实践之图书展示和搜索
前端·node.js·nestjs
wuhen_n1 小时前
Vue Router与响应式系统的集成
前端·javascript·vue.js
青青家的小灰灰1 小时前
金三银四面试官最想听的 React 答案:虚拟 DOM、Hooks 陷阱与大型列表优化
前端·react.js·面试
HelloReader1 小时前
深入理解 Tauri 架构与应用体积优化实战指南
前端
lemon_yyds1 小时前
vue 2 升级vue3 : ref 和 v-model 命名为同名
前端·vue.js