首页 > 其他分享 >js中get请求参数含有特殊字符的处理

js中get请求参数含有特殊字符的处理

时间:2023-12-01 11:46:06浏览次数:37  
标签:get indexOf curFilename js URL filename 特殊字符

在拼接参数的时候,使用 encodeURIComponent() 进行手动转义。
var url= "xxxx?name=" + encodeURIComponent("aaa&bbb")

特殊特殊字符的含义:

字符特殊字符的含义URL编码
+ URL 中+号表示空格 %2B
空格 URL中的空格可以用+号或者编码 %20
/ 分隔目录和子目录 %2F
? 分隔实际的 URL 和参数 %3F
% 指定特殊字符 %25
# 表示书签 %23
& URL 中指定的参数间的分隔符 %26
= URL 中指定参数的值 %3D

 

示例代码:

//处理特殊字符get请求识别错误的情况
//filename为带有特殊字符的url字符串
var curFilename = null;
//含有特殊字符的话,处理完再赋值(没有处理空字符串)
if(filename.indexOf('#') != -1 || filename.indexOf('+') != -1 || filename.indexOf('/') != -1 || filename.indexOf('?') != -1 || filename.indexOf('%') != -1 || filename.indexOf('&') != -1 || filename.indexOf('=') != -1){
curFilename = filename.replace(/([\#|\+|\/|\?|\%|\#|\&|\=])/g, function ($1) {
return encodeURIComponent($1)
})
}else{
//如果不含有特殊字符直接赋值
curFilename = filename;
}
//发送请求(我这里是我项目中封装的,大家正常发送请求就可以)
Cm.get(Cm.webroot + curFilename, function (msg) {

},function (msg) {

})

标签:get,indexOf,curFilename,js,URL,filename,特殊字符
From: https://www.cnblogs.com/wl0813/p/17869362.html

相关文章

  • JMeter的JSON提取器JSON Path一次性提取多个
    JMeter调用接口时,返回一串列表,后面需要列表里的多个参数如下面接口返回示例,我需要提取每个数组里的vpc_id,后面需要用到{"vpcs":[{"vpc_name":"vpc1","vpc_id":"1712289779223859200"},{&qu......
  • Golang中如何自定义时间类型进行xml、json的序列化/反序列化
    在日常开发工作中,我们进行会遇到将struct序列化json字符串以及将json字符串反序列化为struct的场景,大家也对此十分熟悉。最近工作中,遇到了需要将struct序列化xml字符串以及将xml字符串反序列化为struct的场景,对于普通类型的字段,比如int、string等类型,直接......
  • 前端学习-JavaScript学习-js基础-API01
    学习视频:黑马程序员视频链接DOM简介DOM简介DOM树:将HTML文档标签以树状形式表现出来DOM对象:每个标签都是DOM对象DOM核心思想:将网页内容当作对象处理DOM中最大的对象:document,其次是<html><!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metan......
  • uniapp关于uni.getUserProfile的使用
    点击查看代码 <button@click="getMy"data-eventsync="true">获取信息</button> letgetMy=()=>{ if(uni.getUserProfile){ console.log('可以用'); uni.getUserProfile({ lang:'zh_CN', desc:'......
  • JSONObject参数顺序问题
    签名需要规定参数顺序不能错。一开始是这么写的JSONObjectparam=newJSONObject();param.put("idcard",user.getIdCard());param.put("mobile",user.getPhone());param.put("uid",user.getId());param.put("username",user.getName());期望得到的顺序应该......
  • web前端tips:js继承——寄生组合式继承
    上篇文章给大家分享了js继承中的寄生式继承web前端tips:js继承——寄生式继承今天给大家分享一下js继承中的寄生组合式继承寄生组合式继承寄生组合式继承是一种结合了寄生式继承和组合式继承的方式,它的目标是减少组合式继承中多余的调用父类构造函数的开销。在组合式继承......
  • java 8 利用lambda 获取 记录类(get/set) field 上面 注解
    packagetianrun.ziguan.api.center.alert.util;importcom.baomidou.mybatisplus.annotation.TableField;importjava.io.*;importjava.lang.annotation.Annotation;importjava.lang.invoke.SerializedLambda;importjava.lang.reflect.Field;importjava.lang.ref......
  • H50088:js动态生成html代码的三种形式
    1,//方案一O.TEMPLATE='<divclass="viewer-container">\<divclass="viewer-canvas"></div>\<divclass="viewer-footer">\<divclass="viewer-title&quo......
  • Jmeter接口自动化测试 —— Jmeter断言之Json断言
     json断言可以让我们很快的定位到响应数据中的某一字段,当然前提是响应数据是json格式的,所以如果响应数据为json格式的话,使用json断言还是相当方便的。还是以之前的接口举例Url:https://data.cma.cn/weatherGis/web/weather/weatherFcst/getCurrentConditionHTTPMethod:Po......
  • JS累加器
    假设您的数组如下:JavaScriptCode复制内容到剪贴板const array = [    { totalAmount: 100 },    { totalAmount: 200 },    { totalAmount: 300 },    { totalAmount: 150 }  ];   您可以使用Array.reduce()方法对每组totalAmount进行累......