当前位置: 首页 > news >正文

用asp做网站span深圳口碑好的vi设计公司

用asp做网站span,深圳口碑好的vi设计公司,天津市住房和城乡建设网站,免费企业邮箱推荐今天介绍的是前后端分离系统中的请求参数 数组参数的生成#xff0c;api请求发送#xff0c;到后端请求参数接收的全过程示例。 为何会有这个文章#xff1a;后端同一个API接口同时处理单条或者多条数据#xff0c;这样就要求我们在前端发送请求参数的时候需要统一将请…今天介绍的是前后端分离系统中的请求参数 数组参数的生成api请求发送到后端请求参数接收的全过程示例。    为何会有这个文章后端同一个API接口同时处理单条或者多条数据这样就要求我们在前端发送请求参数的时候需要统一将请求参数转换为一个数组单条数据转换为数组。 而我们在vue里面如果是这样 const idsStr row.id || ids.value;  这样的话我们的请求参数就有可能是单条数据或者是一个数组 而在go语言里面是严格区分数据类型的同时POST数据发送到后端后都是以流的形式发送的我们无法多次使用c.ShouldBind来多次绑定请求参数。 js axios网络API数据请求方法定义 这里将请求参数id统一转换为数组,  因为这里的请求参数id, 有可能是一个原始值 也有肯能是一个数组。 //url可用性检测 // 这里的参数id有可能是一个数组也有可能是一个值 // 这里在最终发送的时候都转换为数组来传递 export function checkUrl(id) {let arr []; // 创建一个数组if (id instanceof Array) {arr id; // 如果入参是一个数组 Proxy(Array) 则将他赋值给 arr} else {arr.push(id); // 将参数id放入到数组中}return request({url: /video/parser/checkUrl,method: POST,data: {ids:arr}}); } 上面的js示例中我们使用了  instanceof 关键字来判断一个对象是否是数组js中我们还可以使用原型链 Array.prototype.isPrototypeOf(arr) 来判断 或者使用Array中的isArray方法来判断 Array.isArray(arr)。 还有在axios的网络请求中请求参数的传递有2种方式即通过 data 或者params来传递请求参数他们也是有很大区别的具体如下 axios data 请求参数传递  通过data传递请求参数只能应用于非GET请求方式的情况GET方式传递请求参数只能通过params的方式 传递请求参数。 注意上面的请求方式为POST,数据时通过data来传递的。 最后生成的请求参数是这样的 vue里面使用selection获取的ids请求参数他是一个数组。 axios params 请求参数 如果在请求体里面使用了params来传递请求参数 最后的请求参数都会被生成为url附加到请求url中。如下 const ids row.id || ids.value; 这里的row.id有值这个时候传递给接口的就是一个原始值非数组这时axios的网络请求载荷是这样的 这个时候我们发送的数据的key是  ids  , 而后面的数组的时候发送的key是 ids[]  他们是完全不同的2个key哦 POST请求params 数组 通过 axios 发送网络请求【const ids row.id || ids.value;这里的row.id没有值传递的是 ids.value的值】后的 载荷效果图 vue数据绑定和api请求 示例 以下示例展示了vue端api 数据请求方法和请求参数获取批量请求参数和单个的请求参数获取和发送的示例。 由于js属于弱类型的语言所以在发送参数的时候是没有强制类型判断的。 template !-- 批量检测按钮点击这里时先选择multiple --el-col :span1.5el-button:disabledmultipleclickhandleCheckUrlv-hasPermi[POST:/video/parser/checkUrl]typesuccessURL检测/el-button/el-col!-- 数据列表展示 对单条数据进行检测 --el-table reflistRef v-loadingloading :dataparserList selection-changehandleSelectionChange el-table-column typeselection width55 aligncenter /el-table-column label数据ID aligncenter propid /el-table-column label操作 aligncenter width200 class-namesmall-padding fixed-widthtemplate #defaultscopeel-tooltip content检测 placementtopel-buttontypetexticonCaretRightclickhandleCheckUrl(scope.row)v-hasPermi[DELETE:/video/parser/checkUrl]/el-button/el-tooltip/template/el-table-column//....../el-table/templatescript setup nameBizVideoParser import { checkUrl } from /api/video/parser;const ids ref([]); const multiple ref(true);/** 多选框选中数据 */ function handleSelectionChange(selection) {// console.log(selection);ids.value selection.map(item {return item.id;});multiple.value !selection.length; }/* 检测 */ function handleCheckUrl(row) {// 这里的 ids.value 就是一个数组而 row.id 则是一个具体的值const idsStr row.id || ids.value;proxy.$modal.confirm(确认要对数据编号为 idsStr 的数据执行检测吗?).then(function () {return checkUrl(idsStr);}).then((res) {proxy.$modal.msgSuccess(res.data);getList();}).catch(() {}); }/script selection 数据请求复选框 效果 go后端 gin 框架请求参数解析示例 gin框架获取请求传递的参数 我们只需要定义一个结构体 然后使用 ShouldBind方法就可很方便的获取前端发送的请求参数。 以下为示例 // ids请求参数接收结构体 type IdsArrReq struct {Ids []int64 form:ids }// 请求参数接收方法 示例。。。。 func (a *parserApi) CheckUrl(c *ginx.XContext) {var req IdsArrReq{}// 获取参数if err : c.ShouldBind(req); err ! nil {global.Log.Debug(err.Error())}// 这里的 req.Ids 的类型就是 []int64 了if len(req.Ids) 1 {a.Err(c, id参数缺失!)return}// .......} 总结 我们在统一了请求的请求数据类型后后端就可以通过一个参数来接收了 而且在gin框架里面我们可以非常方便的使用c.ShouldBind来接收请求参数。这里的关键是就在前端发送api请求的时候将请求参数的类型统一转换为数组这样后端就可以通过定义一个数组来接收了。
http://www.hkea.cn/news/14384797/

相关文章:

  • jsp网站开发中英文页面切换网络营销运营公司
  • 温州网站制作公司域名查询万网
  • 时尚大气网站设计wordpress 分词
  • 网站综合营销方案设计正品购物平台哪个最好
  • 银川商城网站开发设计优秀网络小说
  • 网站开发后服务费做教育网站需要规划哪些内容
  • 网站首页作用做网站需要数据库吗
  • 网站平台建设公司新手建站广告联盟赚钱
  • 网站制作公司昆明wordpress 语法
  • 中国建设银行网站类型青岛微网站
  • wordpress 添加手机号肇庆网站seo
  • 海外网站有哪些如何对网站进行改版
  • wordpress 名站网站二级菜单是什么意思
  • wordpress网站示例安全教育网站建设背景
  • 辽宁住房和城乡建设厅网站wordpress 手机端发帖
  • 一级a做爰片在线看网站canva 可画主页首页首页模板素材
  • 网站制作流程的组成部分包括怎么做网站网站
  • 做房产网站六安市百姓畅言六安杂谈
  • 网站联盟营销免费咨询妇科在线医生
  • 从化网站设计外贸网站源码怎么建
  • 扬州做网站设置网站的默认页面
  • 枣庄市住房和城乡建设局网站网站建设好评公司
  • 网站备案被拒绝舟山 做企业网站
  • 门户网站开发简历免费网络推广方法
  • 海口网站建设策划dede打包好的网站怎么提取模板
  • 双井网站建设网站开发常见毕业设计题目
  • 网站链接推广方法做网站设计赚不赚钱
  • 建设一个网站用什么软件下载wordpress手机cms
  • 广东网站建设开发沉默是金歌词
  • 贵阳网站设计企业dedecms旅游网站模板