帝王谷资源网 Design By www.wdxyy.com
前言
项目angular中使用jQuery请求,想替换为angular自身请求,结果发现后台没法获取參数,所以,查询资料分析一下,做个总结。
步骤如下:
首先,angular和jQuery中请求是不同的。如下:
- jQuery:
请求contentType是:
application/x-www-form-urlencoded; charset=UTF-8
该类型数据被编码成以 '&' 分隔的键-值对, 同时以 '=' 分隔键和值. 非字母或数字的字符会被百分比编码: 这也就是为什么这种类型不支持二进制数据(应使用 multipart/form-data 代替)。
data参数是处理过的:
// json对象 { a : 3, b : 2 } // 将json对象处理为 "a=3&b=2"
- Angular:
请求contentType:
application/json
data参数:
// json对象 {a: 3,c: 2}
综上来看,angular提交后台是json,不是表单数据。我们需要把json对象转换为参数拼接,提交后台时就是表单数据了:
/** * 将application/json转换为application/x-www-form-urlencoded * @param data */ handlerPostParams(data) { const params = []; for (const key in data) { if (data[key] && !isNull(data[key])) { if (data[key] instanceof Array) { for (let i = 0; i < data[key].length; i++) { if (data[key][i] && !isNull(data[key][i])) { const value = data[key][i]; const name = key + '[' + i + ']'; const innerObj = {}; innerObj[name] = value; params.push(this.handlerPostParams(innerObj)); } } } else if (data[key] instanceof Object) { for (const k in data[key]) { if (data[key][k] && !isNull(data[key][k])) { const value = data[key][k]; const name = key + '[' + k + ']'; const innerObj = {}; innerObj[name] = value; params.push(this.handlerPostParams(innerObj)); } } } else { const param = encodeURIComponent(key) + '=' + encodeURIComponent(data[key]); params.push(param); } } } return params.join('&'); }
总结
帝王谷资源网 Design By www.wdxyy.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
帝王谷资源网 Design By www.wdxyy.com
暂无评论...
更新日志
2024年11月01日
2024年11月01日
- 群星《狐妖小红娘月红篇 电视剧原声带》[320K/MP3][233.61MB]
- 英雄联盟s14四强淘汰赛规则是什么 全球总决赛四强淘汰赛规则详解
- 英雄联盟s14四强赛怎么分组 S14全球总决赛四强赛分组规则详解
- 英雄联盟s14四强赛抽签规则是什么 S14全球总决赛四强抽签规则详解
- ButterQuartet-ScintillaEarlyItalianStringQuartets(DeLuxe)(2024)[24Bit-WAV]
- 草原最美情歌《迷醉女中音》2CD/DTS-ES[WAV]
- 爵士女伶何芸妮《靡靡之音》(香港版)[WAVCUE]
- 游戏中辱骂他人同样侵犯名誉权 一玩家被判道歉
- 老游戏远程共享申请失败 美国版权局拒绝豁免请愿
- 通过本地化支付解决方案,解锁150亿美元拉美和非洲游戏市场
- 群星《狐妖小红娘月红篇 电视剧原声带》[FLAC/分轨][574.68MB]
- 群星《红色冲浪板 电影配乐专辑》[320K/MP3][106.63MB]
- 罗艺恒《What Could've Been》[320K/MP3][50.62MB]
- 于台烟.1989-人间山水【银河唱片】【WAV+CUE】
- 杨克强.1992-特制的面具【恩华声视】【WAV+CUE】