首页 > 其他分享 >js 使用get 接口如何传递 特殊字符给后端,类似 # 等特殊字符

js 使用get 接口如何传递 特殊字符给后端,类似 # 等特殊字符

时间:2023-07-01 18:02:03浏览次数:48  
标签:en get js replaceAll 使用 var newQue 特殊字符

今天开发遇到个问题。用户输入了 # 怎么把文本完整的传递给后端

如果直接传输就会出现

# 之后的东西全都没有,

解决方法如下:

1,使用其他特殊字符代替,使用replaceAll  

// 使用replaceAll  替换所有 #,然后后端再替换回来
let newStr =  newQue.replaceAll('#','&')

  缺点,会影响到其他特殊字符的传递

2,使用加密传输,前端加密后,后端解密即可

var code = 'coasd@@!啊是的撒啊实打实2安师大1安师大@#@#¥#%¥%¥……\n\n\n阿萨德23阿打算llo")';
var en = escape(code);
var de = unescape(en);
console.log(en)
console.log(de)  

 缺点,加密后的文本更长。容易导致get接口长度超长

3,使用  encodeURIComponent

根据官方文档可知   文档链接

encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。

 使用方法,在接口发送之前对目标参数

newQue = encodeURIComponent(newQue)

 结果

 

标签:en,get,js,replaceAll,使用,var,newQue,特殊字符
From: https://www.cnblogs.com/fanjlqinl/p/17519643.html

相关文章

  • JS传wav文件给后台
    <buttonid="recordButton">开始录制</button>letrecordButton=document.getElementById('recordButton');letmediaRecorder;//媒体实例letchunks=[];//语音文件letisRecording=false;//是正在录制还是停止录......
  • js-遍历两个对象数组,属性值相等的一项合并属性并生成新数组
    operatData.value.seriesList=res.data.seriesList.reduce((accumulator,current)=>{constexisting=userOptionsColor.find(item=>item.name===current.name)if(existing){accumulator.push({...current,...existing})......
  • Nodejs开发web后台
    Nodejs开发web后台expressexpress介绍express是一个基于Node.js平台的极简、灵活的WEB应用开发框架,官方网址简单来说,express是一个封装好的工具包,封装了很多功能,便于我们开发WEB应用(HTTP服务)express使用express本身是一个npm包,所以可以通过npm安装#初始化一个项目npmini......
  • 什么是 SAP UI5 的 cldr json 文件
    SAPUI5是一个基于HTML5的UI开发框架,它允许开发人员构建功能丰富、易于维护和满足企业需求的应用程序。它是一个集成了各种UI控件、工具和库的强大框架,旨在简化企业级应用程序的开发过程。SAPUI5的一个重要特性是对国际化和本地化的支持,这意味着开发人员可以构建能够适应......
  • SAP UI5 manifest.json 文件的 config 区域
    SAPUI5是一种用于构建企业级Web应用的HTML5用户界面技术。它提供了一套丰富的控件库,并支持MVC(模型-视图-控制器)架构、双向数据绑定等特性。manifest.json是SAPUI5应用的元数据文件,包含了应用的配置信息、依赖项、模型、路由等内容。在manifest.json文件中,config区......
  • Node.js 模块化机制原理探究
    前言Node应用是由模块组成的,Node遵循了CommonJS的模块规范,来隔离每个模块的作用域,使每个模块在它自身的命名空间中执行。CommonJS规范的主要内容:模块必须通过module.exports导出对外的变量或接口,通过require()来导入其他模块的输出到当前模块作用域中。CommonJS模块的特......
  • python -- json与dict
    一、python中的dict 与json1、dict 的表现形式    dict中的key和value,不论写的是 双引号 还是 单引号,最后 python的dict都会转成 单引号。2、jsonjson是一个字符串,是一种数据交换格式,不同于dict属于python的基础数据类型。js......
  • Swift 多Target预编译Preprocessor Macros中添加字段后不生效处理
    在其中一个Target的PreprocessorMacros中添加字段RVCTAG后,代码判断发现不生效代码逻辑如下#ifPROJECTIDreturntrue#elsereturnfalse#endif还需要在BuildSetting---> Swiftcompiler-CustomFlags--->OtherSwfitFlags中添加对应的宏设置,如下 ......
  • js 数组和链表分别实现队列
    链表实现/***1.单项链表实现队列,但要同时记录head和tail*2.要从tail入队,head出对,否则出队时,tail不好定位*2.单独记录length,不可遍历链表获取length*/classMyQueue{head=null;//头tail=null;//尾len=0;add(n){letnewNode={......
  • js的一些小技巧
    作用域全局作用域局部作用域(函数里)也称函数作用域块级作用域{}包裹的例如iffor 括号()也算变量全局变量谁都能用,在函数内也可以局部变量,只能在该函数内用,如果这个函数嵌套了子函数,那么父函数定义的变量,子函数也能用,不能颠倒,父亲的钱就是儿子的钱,儿子的钱不是父亲的钱块级变量(){}......