获取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,一经查实,立即删除!

相关文章

第五人格维修服务器时间,第五人格调整维护时间 第五人格新赛季奖励皮肤一览...

第五人格调整维护时间 第五人格新赛季奖励皮肤一览,第五人格正式服于2018年5月24日进行停服维护,从本周起,第五人格将会调整维护时间,将于每周四早上8:30进行停服维护。更新内容:新赛季:[新赛季]&#xff1…

水星怎么设置网速最快_水星无线路由器如何设置网速限制 水星路由器怎么让别人网速限制方法...

我们在应用电脑上的情况下,一直会碰到许多 的电脑上难点。在我们在碰到了水星路由器如何设置速度限制的情况下,那麼大家应当怎么办呢?今日就一起来追随专业知识屋的我看一下怎么解决的吧。水星路由器如何设置速度限制:一、水星路由…

ajax参数是json数据类型,如何保护$ .ajax数据类型:json Post参数

我正在使用通过Web服务方法进行更新的参数。 请参阅下面的帖子。Post: http://myweb.com:8241/web/Dashboard.aspx/BindDatatableHost: localhost:8241User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0Accept: application/json, text/j…

从源PC上一次性p2v(qcow2)的构想

磁盘分区表,虚拟硬盘文件,操作系统引导 1. 基本概念和术语 源硬盘:一般就是客户的PC机的硬盘,硬盘里面包含了Windows分区。 源Windows:以源硬盘启动的Windows环境。 虚拟磁盘文件:文件格式有qcow2、vhd…

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

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

国内稳定的暗黑2服务器,国内暗黑2战网的基本概念介绍

战网:战网就是指暗黑的官方战网:BATTLE NET,简称BN。包括ASIA(1、2、3),EUROPE,USE,USW服务器。私服:相对于战网来说,属于非官方的服务器(私人服务器),除了以上所提到的6…

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

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

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

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

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

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

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

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

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

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

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

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

python 描述_python描述符

class Type:def __init__(self, key, expect_type):self.key keyself.expect_type expect_typedef __get__(self, instance, owner):print(执行get方法)return instance.__dict__[self.key]def __set__(self, instance, value):print(执行set方法)if not isinstance(value, s…

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

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

鸽主姓名查询成绩_鸽主姓名

鸽主姓名参赛鸽环号羽色100元组200元组备注范党生2011-33-016425雨点1002011-33-016428雨点100八闽山庄2011-27-055527雨点1002002011-27-055528雨点100200高凌振2011-27-098801绛100陈兆雄2011-27-034545雨点100大鹏鸽舍2011-27-020349灰200庞立新陈磊2011-01-861268绛200李军…

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

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

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

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

python正则匹配括号内任意字符_Python正则表达式:字符集、限制范围和否定

1.字符集虽然句点可以匹配任意符号,但是如果需要匹配某些特定字符,可以使用方括号([])。方括号的正则表达式能够匹配方括号内包含的任意字符。下列为一些示例:正则表达式1:b[aeiu]其匹配的字符串是bat、bet、bit、but正则表达式2:[er][23][dp…

mysql to data_mysql str_to_date 字符串转换为日期

1.mysql日期和字符相互转换方法date_format(date,’%Y-%m-%d’) ————–>oracle中的to_char();str_to_date(date,’%Y-%m-%d’) ————–>oracle中的to_date();%Y:代表4位的年份%y:代表2为的年份%m:代表月, 格式为(01……12)%c&am…

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

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