angular接口传参

1、service文件

创建xxx.service.ts文件

import { Injectable, Inject } from '@angular/core';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { HttpClient } from '@angular/common/http';

@Injectable({
providedIn: 'root'
})
export class ErrorConditionService {
constructor(private http: HttpClient,
         @Inject('BASE_CONFIG') private config) { }

}
BASE_CONFIG在app.module.ts文件中写
providers: [
{
provide: 'BASE_CONFIG',
useValue: {
url: 'myurl'
}
}
]

设置proxy实现跨域
(在项目根目录下新建proxy.conf.json,然后在package.json文件中配置一下)

 

1)proxy.conf.json代码
{
"/myurl": {
"target": "http://10.0.0.0:0000",
"secure": true
}
}

2)修改package.json(ng serve -o --proxy-config proxy.conf.json)


2、http请求

post传json格式数据:

const data = {
  id: 1
}
ceshi1(data): Observable<any> {
const url = `${this.config.myurl}/xxx/xxxxx`;
return this.http.post(url, data).pipe(
map((res: any) => {
return res;
})
);
}

post传params格式数据1(传参少且字符短):

const data = {
  id: 1
}
ceshi2(data): Observable<any> {
const url = `${this.config.myurl}/xxx/xxxxxx`;
return this.http.post(url, {},{ params: data }).pipe(
map((res: any) => {
return res;
})
);
}

post传params格式数据2(传参多且字符长):

const data = {
  id: 1,
  text:‘成百上千个字节’
}
const params = new HttpParams({
fromObject: data
});
ceshi2(data): Observable<any> {
const url = `${this.config.myurl}/xxx/xxxxxx`;
return this.http.post(url, params).pipe(
map((res: any) => {
return res;
})
);
}

 或者(效果同上)

const formData = new FormData(); 
formData.append('id',1);
formData.append('text','成百上千个字符');
ceshi2(data): Observable<any> {
const url = `${this.config.myurl}/xxx/xxxxxx`;
return this.http.post(url, formData).pipe(
map((res: any) => {
return res;
})
);
}

 

问题:get请求转码

使用angular中所带的get方法进行传参{params: data}时,会转义,对“+”这种特殊符号,会转成“ ”,后端接收到“ ”,无法区分是空还是加号,这种就需要前端在使用get方法(参数值不定)的情况下,不去使用angular所带的方法,把参数中的“+”转为“%2B”【参数.replace(/\+/g,"%2B")】,然后自己拼接url,进行传参。

参考链接:https://blog.csdn.net/weixin_33725270/article/details/87219207


转载于:https://www.cnblogs.com/boreguo/p/10342598.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264881.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

https网络编程——如何建立利用根证书(凭证)签发建立中继证书(凭证)详解

参考&#xff1a;如何建立利用根证书&#xff08;凭证&#xff09;签发建立中继证书&#xff08;凭证&#xff09;详解 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/108221568?spm1001.2014.3001.5502 目录在建立中继之前需要自建根证书建立根证书的具体步…

NURBS曲线与曲面

B样条方法在表示与设计自由型曲线曲面形状时显示了强大的威力&#xff0c;然而在表示与设计初等曲线曲面时时却遇到了麻烦。因为B样条曲线包括其特例的Bezier曲线都不能精确表示出抛物线外的二次曲线&#xff0c;B样条曲面包括其特例的Bezier曲面都不能精确表示出抛物面外的二次…

https网络编程——如何利用中继证书(凭证)建立服务器证书

参考&#xff1a;如何利用中继证书&#xff08;凭证&#xff09;建立服务器证书 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/108225569?spm1001.2014.3001.5502 目录建立服务器证书的前提是要建立中继证书建立服务器证书的具体步骤1、建立一个目录&#x…

上传图片

2019独角兽企业重金招聘Python工程师标准>>> private File imageFile;// 上传文件名称private String imageFileFileName;// 上传文件类型private String imageFileContextType; InputStream is new FileInputStream(imageFile);String suffixName imageFileFileN…

https网络编程——如何利用中继证书(凭证)建立客户端证书

参考&#xff1a;如何利用中继证书&#xff08;凭证&#xff09;建立客户端证书 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/108226592?spm1001.2014.3001.5502 目录建立客户端证书的前提是要建立中继证书建立客户端证书的具体步骤1、建立一个目录&#x…

2019.2.4 nfs原理和安装实验

NFS 访问一个本地文件还是NFS共享文件对于客户端而言都是透明的&#xff0c;当文件打开的瞬间&#xff0c;内核会作出一个决定&#xff0c;如果是本地文件内核会将本地NFS共享文件内核会将NFS共享文件的所有引用传递给——》NFS客户端枢中 NFS客户端是通过TCP/IP协议及模块向NF…

形容人的内核是什么意思_成语雪泥鸿爪是形容什么的?雪泥鸿爪什么意思?蚂蚁庄园2020年12月10日答案...

斑马线和斑马什么关系&#xff1f;大家都知道斑马和斑马线&#xff0c;但是两者之间有什么关系&#xff1f;蚂蚁庄园12月10日提到了这个问题&#xff0c;我们一起来看看正确答案吧。问题&#xff1a;斑马线和斑马有什么关系&#xff1f;答案&#xff1a;横线酷似斑马纹答案解析…

.Net 2.0里有一个有用的新功能:迭代器

下面内容节选至MSDN2005。迭代器&#xff08;C# 编程指南&#xff09; 迭代器是 C# 2.0 中的新功能。迭代器是方法、get 访问器或运算符&#xff0c;它使您能够在类或结构中支持 foreach 迭代&#xff0c;而不必实现整个 IEnumerable 接口。您只需提供一个迭代器&#xff0c;即…

MySQL 服务器变量 数据操作DML-视图

原文:MySQL 服务器变量 数据操作DML-视图SQL语言的组成部分 常见分类&#xff1a; DDL&#xff1a;数据定义语言 DCL&#xff1a;数据控制语言&#xff0c;如授权 DML&#xff1a;数据操作语言 其它分类&#xff1a; 完整性定义语言&#xff1a;DDL的一部分功能约束约束&#x…

kafka内存不断增加_为什么 Kafka 能这么快的 6 个原因

无论 kafka 作为 MQ 也好&#xff0c;作为存储层也罢&#xff0c;无非就是两个功能(好简单的样子)&#xff0c;一是 Producer 生产的数据存到 broker&#xff0c;二是 Consumer 从 broker 读取数据。那 Kafka 的快也就体现在读写两个方面了&#xff0c;下面我们就聊聊 Kafka 快…

https网络编程——DNS域名解析获取IP地址

参考&#xff1a;DNS域名解析 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/115825036?spm1001.2014.3001.5502 1、原理 我在在通过域名解析获取IP的过程中一般使用的是DNS域名解析。 DNS协议是一种应用层协议&#xff0c;他是基于UDP来实现的。 2、代码…

C#桌面时钟

使用C&#xff03;制作的桌面时钟&#xff0c;提供闹钟功能&#xff08;虽然很简陋&#xff09;、万年历功能&#xff08;包含农历&#xff09;源码&#xff1a;http://www.cnblogs.com/Files/shiweifu/MyClock.rar截图&#xff1a;适合初学者研究 转载于:https://www.cnblogs.…

小a与黄金街道(欧拉函数)/**模运算规则总结*/

链接&#xff1a;https://ac.nowcoder.com/acm/contest/317/D 来源&#xff1a;牛客网 题目描述 小a和小b来到了一条布满了黄金的街道上。它们想要带几块黄金回去&#xff0c;然而这里的城管担心他们拿走的太多&#xff0c;于是要求小a和小b通过做一个游戏来决定最后得到的黄金…

堆栈认知——逆向IDA工具的基本使用

参考&#xff1a;逆向-IDA工具的基本使用 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/118862881 目录1、文件的打开与关闭2、窗口介绍&#xff1a;图形 文本 其他窗口2.1、图形界面&#xff1a;2.2、文本界面&#xff1a;2.3、反汇编窗口2.4、 十六进制窗口…

堆栈认知——栈溢出实例(ret2text)

参考&#xff1a;栈溢出实例–笔记一&#xff08;ret2text&#xff09; 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/119295954 目录1、什么是栈溢出&#xff1f;2、栈结构3、栈溢出需要解决的问题3.1、解决如何跳转的问题3.2、跳转到哪里去&#xff1f;4、…

堆栈认知——栈溢出实例(ret2shellcode)

参考&#xff1a;栈溢出实例–笔记二&#xff08;ret2shellcode&#xff09; 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/119303513 目录1、栈溢出含义及栈结构2、ret2shellcode基本思路3、实战一下3.1、二进制程序如下3.2、分析调试查看栈3.3、编写payloa…

Glusterfs初试

Gluster的模式及介绍在此不表&#xff0c;这里只记录安装及配置过程。 1.整体环境 server1 : gfs1.cluster.com server2 : gfs2.cluster.com Client: 2.安装Gluster 下载软件https://access.redhat.com/downloads/content/186/ver3/rhel---7/3.4/x86_64/product-software 下…

堆栈认知——堆简介

参考&#xff1a;Linux笔记–堆简介 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/119510863 目录1、前言2、堆的由来3、Linux中堆简介4、堆分类4.1、请求堆4.2、释放堆5、内存分配背后的系统调用6、堆相关数据结构7、堆的申请8、调试验证1、前言 当前针对各…

如何为 Horizon View 配置 VMware VSAN?

原文&#xff1a;http://myvirtualcloud.net/?p5440注明&#xff1a;本文内容基于 VMwareVSAN beta 版本撰写&#xff0c;请访问http://www.vmware.com/products/virtual-san/获得有关正式版本的更新信息。我已经在前面的文章中讨论了VSAN 给 Horizon View 带来的益处&#xf…

配置vscode远程免密登入Linux服务器

视频教程&#xff1a;https://www.bilibili.com/video/BV1s64y167cM?vd_sourcecc0e43b449de7e8663ca1f89dd5fea7d 参考&#xff1a;配置vscode远程免密登入Linux服务器 地址&#xff1a;https://blog.csdn.net/weixin_54178481/article/details/123977675?spm1001.2014.3001.…