获取ajax传过来的数据_大数据编辑问题

3d120f4b276aa423f24878eca7d63844.png

【摘要】最近项目用到了大数据的编辑问题,在此做一个简单的总结

【作者】田鋆鹏

在最近的项目中遇到一个问题,这个问题的起因是因为在调用接口传参是传入的数据太大,导致接口调用失败

【重构建议:田甜】

1.我们在重构VUE项目的时候, POST请求并没有发成功,而GET请求却能获取到数据,这个问题解决后,可以列在其中

2. POST和GET的基础原理,甚至是HTTP协议的基本原理,也可以在这里做一些引申

一、出现问题的原因

刚开始以为是因为数据库长度的问题, 因为用到了数据库的扩展字段, 而数据库扩展字段的默认数据类型是 varchar, 默认长度是 一般为 128, 当出现问题的时候将改字段的数据类型改为了 text, 默认长度为最大, 但是在调用接口的时候还是报错了, 说明改字段的长度还是不够, 但是数据库这边已经是不能再修改了, 后边就只能通过后端修改接口来解决问题

二、 解决方法

首先是后端修改结构, 提供一个新的接口, 将参数封装成 json 字符串传到后端

5bb297aa093c801324ab5ddbe0141527.png

然后是前端在调用接口时要对参数进行调整

因为我们现在的通用的参数传递方式如下:

2048f53746b46156c48575981ba314fe.png

因为后端接口的结构做了一些调整, 所以需要将参数传递修改为以下格式

341a5590ed92cb103cc35b0335ad0744.png

具体的参数修改格式方法如下:

1. 先将拿到的数据放到一个对象中

8c43b9b0586d42a369cf662effe83903.png

2. 然后将改对象转成json字符串

fae53183ced0bd4238ccd971337b78af.png

3. 在调用接口传参时将 header 的contentType修改为appcalition/json;charset=utf-8'

bcf26a07f2b09d6691a5df4fc62933a2.png

4. 最后在进行 ajax 请求时候再对数据进行一次处理

1533027109c3ebf6a21b0579d5387957.png

这样就可以将页面拿到的对象格式的数据转换成请求接口时所需要的 json 格式的数据,这样就可以完成大数据的编辑了

47b66891fa1518b22d5987b1f790d17c.png

1028更新ing

本次更新主要是在后续的使用过程中又出现了一个比较严重的问题, 问题出现的原因以及解决方案如下:

之前说过大数据编辑的问题, 在调整完毕后又出现了一个问题, 就是在传参数的时候, 如果参数中有 ? 的话, 会出现一些问题

出现原因

因为在处理参数的时候是通过 ? 来分割进行处理的, 所以在传入的参数有 ? 时, 直接就从 ? 处截取了, 到后边就拿不到接口名称了

首先调用接口时传入的参数如下图所示:

ec20cd7a8b09aaf04eb1222e2b66dbfa.png

然后在调用接口时拿到的参数如下图所示:

42afcc8b3a404ac34f7bfe898b0d06f9.png

我们可以看到这里边有两个 ?, 所以截取的时候就截取成了一个数组中有 3个 元素

7be39d9add6a446c47f1b07cd857b034.png

正常情况下, 我们在根据 ? 截取后可以在数组的第二个元素中拿到 invoke_method

ba2963ae7418a130d8cf16302173c1fb.png

但是因为这里在传值的时候传入了两个甚至多个 ?, 所以, 我们在数组的第二个元素中就拿不到的这个invoke_method了

525e6fcd7fbeae1b234d4ccb40605a58.png

所以在控制台中就有了报错信息

6e1c7c8b4c6cd7cd828726043b5b1d01.png

解决方案

我这边的解决方案就是在拿到传过来的 url 后, 会先进行一个判断:

如果 url.split('?')[1].split('}]')[1] == undefined 成立的话, 就说明传递过来的字符串中有 两个或者多个 ? , 这时候就手动把所需要的 invoke_method 给拼接到后边

如果 url.split('?')[1].split('}]')[1] == undefined 不成立, 就说明传递过来的字符串就只有一个 ?, 也就是正常的数据, 这时候就不要进行手动拼接, 可以通过 ? 的分割进行拼接

具体的代码如下:

40be2283b11563553121ae5e35d1b2e7.png

这样在调用接口时不管传递的参数中有几个? , 都是可以正常进行接口调用的

欢迎关注 技术团队的知乎账号 我们凭团队实例运作以下专栏, 必须干货!

互联网创业专栏 (我们小伙伴的创业历程)

与您一起聊技术 (APP、微信公众号、小程序、H5 技术总结)

互联网产品研发管理 (我们公司对产品结构的管理思路)

产品君的案例库(产品小伙伴深刻总结)

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

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

相关文章

crt 8.7.3 黑暗模式_科技有意思 | 黑黑黑黑黑黑黑黑暗模式

不知从什么时候,手机上的黑暗模式成了系统的标配。本来这只是系统中的一个功能,现在经过从iOS 13系统的终于支持、苹果督促包括腾讯在内的开发者尽快适配,到一直不支持黑暗模式的微信也答应尽快开发相关功能,说得多了好像变成了一…

2 s锁是什么_《演员请就位》:一场戏拿了2张S卡,任敏凭什么打败老戏骨?

《演员请就位》终于上映了。这一期的节目明显要比之前要残忍,一上来先给40位演员来了一个市场评级。这一评可不要紧,S级别的都是年轻的演员,除了李志刚。但李志刚是男的,用制片人的话来说“正处在黄金时期”。而女的就比较惨了&am…

根据端口不同来切换站点_根据不同高温气体对窑炉的侵蚀,来选用相应的耐火材料...

根据不同高温气体对窑炉的侵蚀,来选用相应的耐火材料。由于高温窑炉的操作条件不同,因而其燃烧气体存在的侵蚀性成分也是不同的,从而导致与之接触的耐火材料受到各种不同的严重侵蚀。这说明只有根据具体的使用条件选择相应的耐火材料才能获得…

原神的天空岛服务器位置,原神天空岛服和世界树服数据互通吗

原神天空岛服和世界树服是游戏开服初始服务器,玩家们能在官服与B服中自由选择哦,那么原神天空岛服和世界树服数据互通吗、原神天空岛世界树服务器有什么区别吗,跑跑车手游网为大家带来了介绍。*原神天空岛服和世界树服数据互通吗?…

js 正则 或者_如何彻底搞懂面向 Web 开发者的正则表达式?

对于正则表达式,开发者如何跳出云里雾里的谜团?作者 | Chris Achard译者 | 弯月,责编 | 郭芮出品 | CSDN(ID:CSDNnews)以下为译文:正则表达式能在字符串中查找匹配特定模式的子字符串。在JavaScript中,可以…

域环境下文件服务器,域和文件服务器

域和文件服务器 内容精选换一换您可以使用已有的弹性云服务器快速创建伸缩配置。此时,伸缩配置中的云服务器类型、vCPU、内存、镜像、磁盘参数信息将默认与选择的云服务器规格保持一致。登录管理控制台。选择“计算 > 弹性伸缩 > 伸缩实例”。单击“创建伸缩配…

项目的启动顺序_多个项目进行如何做好进度管理

多项目并行比单个项目管理更容易出现意外,因为与单项目管理相比,多项目管理的环境显得更加复杂和难以管控。需要协调来自不同部门的资源;项目的优先级经常会被调整;有些项目是相互依存的;各部门间沟通困难;…

keep老是显示服务器开小差,nginx+keepalived高可用服务器宕机解决方案

原标题:nginxkeepalived高可用服务器宕机解决方案1.基本服务器宕机的主从切换配置两台nginx服务器,分别安装keepalived,配置/etc/keepalived/keepalived.conf主从配置:主nginx修改主nginx下/etc/keepalived/keepalived.conf文件备…

idea启动tomcat没有加载项目_震惊!我三步就搞定了 Tomcat 源码环境搭建!

喜欢请点关注引言随着微服务的流行,轻量级的服务应用器也是跟着大火了。毕竟那些企业级的服务应用器部署搭建成本太高。并且springboot 自带的就是 tomcat 服务。所以我们也有必要学习 tomcat 的相关知识啦,我们在项目中也用的很多,但是我们往…

云服务器装哪些版本的系统好,云服务器按装什么系统好

云服务器按装什么系统好 内容精选换一换云耀云服务器(Hyper Elastic Cloud Server,HECS)是可以快速搭建简单应用的新一代云服务器,具备独立、完整的操作系统和网络功能。提供快速应用部署和简易的管理能力,适用于网站搭建、开发环境等低负载应…

java 加密_Java版SMS4加密解密算法

特别说明:该专栏文章均来源自微信公众号《大数据实战演练》,欢迎关注!前言最近工作中需要实现HBase自定义扩展sms4加密,今天就先来说一下Java版的SMS4加密解密算法的具体实现。一、概述1.1 基本概念本算法是一个分组算法&#xff…

将dll制作成控件_全国首例将“影视作品”制作成“网络图片集”方式侵权案宣判...

最早知道“图解电影”是在百度贴吧,以前贴吧会有很多以截取电影主要剧情截图,介绍电影故事梗概的推荐电影形式,目前也有很多短视频平台和视频平台,推出电影主要内容的剪辑片段,那么,以这样的形式接受一部电…

阿里云 ecs mysql搭建_使用ECS和mysql搭建mysql服务器-阿里云开发者社区

一、首先得在阿里云等云主机上申请两台主机二、现在连上去安装mysql1、通过安装源将mysql下载下来[rootiz2ze2llim71y07x3numlbz ~]# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm--2018-03-26 16:52:00-- https://dev.mysql.com/get/mysql57-…

kalman滤波在雷达目标跟踪中的应用_简述Automotive radar中的多目标跟踪处理

毫米波雷达在目前的先进辅助驾驶(ADAS)中的应用主要体现在自适应巡航控制(Adaptive Cruise Control,ACC),预碰撞(PreCrash),泊车辅助(Parking Aid),变道辅助(…

oracle 拼接多个列_ORACLE实现类似mysql的find_in_set

在程序开发的过程中有很多的场景都会使用一个字段保存多个信息并且使用符号分隔,比如写一篇文章,保存了所有赞赏人员的ID。在一般的应用中除了保存外,还需要对此字段进行一些搜索,如站点中搜索所有我赞赏的文章。下面我们就来讲一…

放大缩小保证div对齐_NFS Write IO 不对齐深度分析

导读:NFSClient 对大多数的应用写入没有做对齐优化,本文根据 IO 不对齐的原因给出了若干实践建议。作者 | 裴晓辉背景最近团队小伙伴弗曼统计了线上用户数据写入对齐情况,通过统计数据发现了一个有趣的现象: 用户写入请求中近 70% 的数据块 4…

MySQL+for+Mac下载_MySQL For mac

MySQL For Mac官方版是一款可以在苹果电脑MAC OS平台上使用的多线程的、结构化查询语言(SQL)数据库服务器,SQL在世界上是最流行的数据库语言,MySQL For Mac最新版的执行性能非常高,运行速度非常快,并且MySQL For Mac非常容易使用。MySQL For …

石头剪刀布程序流程图_石头剪刀布!我要与电脑决战到天明!(14天)

1、学习心得原来一直以为,学了这个600集视频,应该就能自己做点啥了,比如我的最终目的:爬学区房。但是我今天学的时候,隐隐觉得,好像不大现实。毕竟,这都到了200多集,我依然还是个纯粹…

python做地图导航_「Python」利用高德地图做你想做之事

玩grasshopper基本上都知道OpenStreetMap 这个地图网站,毕竟有一个好用的地图插件,可以在Rhino中绘制出所需,但是一个不好的地方就在于国内的数据量太少,无法满足我们的需求。此次所讲的高德地图基本上可以解决我们的痛点&#xf…

elementui分页组件按钮样式修改_Vue使用Elementui修改默认最快方法!

相信大家都需要过,在Vue中使用Elementui的时候,遇到最多也最蛋疼的问题就是修改默认样式,接下来直奔主题;// template :text-inside"true" :stroke- :percentage"70" >-progress>默认样式方法…