接口请求特殊字符
来源:互联网 发布:自制相册软件下载 编辑:程序博客网 时间:2024/06/11 14:58
在ajax请求时特殊字符出错,在请求时有一个参数内容含有“&”,导致参数被http截断,需要做特殊字符处理,改成“%26”,一直以为是get的请求长度限制造成被截断
程序为vue调用自己的api接口,再在自己的接口内调用第三方的接口(因为含有key,secret等原因);
1、getAccessToken(),只传递第三方的url其余参数是在后台拼凑,没有特殊字符,正常运行;
2、前台的交互mouseDownControl(),向自己的后台api传递拼凑好的数据,第三方的api参数格式(accessToken=at.4g01l53x0w22xbp30ov33q44app1ns9m&deviceSerial=502608888&channelNo=1&direction=2&speed=1),所以直接用&吧参数拼凑,但是每次都是到accessToken后就没有数据了,一开始以为是get/Post的问题,但是改了并没有解决,然后查看到 浏览器内 network的请求头,发现浏览器就没有向后台传递后面的数据,才发现是特殊字符的问题,改拼凑的数据改为(accessToken=at.4g01l53x0w22xbp30ov33q44app1ns9m%26deviceSerial=502608888%26channelNo=1%26direction=2%26speed=1),
httpRequest(url,sendData){ return $.ajax({ type: "GET", url: "http://***********/xmtdt.asmx/getYsApiData?para={'Token':'" + this.token + "','url':'" + url + "','sendData':'" + sendData + "'}", dataType: 'json', }); }, //对设备进行开始云台控制,开始云台控制之后必须先调用停止云台控制接口才能进行其他操作,包括其他方向的云台转动 //token getAccessToken(){ let vm=this; this.httpRequest("https://open.ys7.com/api/lapp/token/get","").then(function (json) { var data=JSON.parse(json.Results); console.log("获取token:",data.data.accessToken); vm.accessToken=data.data.accessToken; }); }, //移动方向 //url:https://open.ys7.com/api/lapp/device/ptz/start //data:accessToken=at.4g01l53x0w22xbp30ov33q44app1ns9m&deviceSerial=502608888&channelNo=1&direction=2&speed=1 mouseDownControl(direction){ let sendData="accessToken="+this.accessToken+"%26deviceSerial="+this.deviceSerial+"%26channelNo="+this.channelNo+"%26direction="+direction+"%26speed="+1; this.httpRequest("https://open.ys7.com/api/lapp/device/ptz/start",sendData).then(function(json){ var data=JSON.parse(json.Results); console.log("云台方向控制:",data.code+data.msg); if(data.code!=200){ alert(data.msg); } }); },
百度如下:
符号 含义 编码+ +号表示空格 %2B空格 用+号或者编码 %20/ 分隔目录和子目录 %2F? 分隔实际的 URL 和参数 %3F% 指定特殊字符 %25# 表示书签 %23& 参数间的分隔符 %26= URL 中指定参数的值 %3D
阅读全文
0 0
- 接口请求特殊字符
- GET请求特殊字符处理
- get请求中特殊字符的处理
- 网络请求特殊字符处理问题
- javaWeb超链接(href)请求-特殊字符处理
- http请求中对特殊字符的处理,以及xml中对特殊字符的处理
- Js字符集编码转换函数Get请求特殊字符处理
- GET请求中参数含有某些特殊字符的处理
- Socket编程 HTTP请求头中的特殊字符转义
- 对于请求的URL中有特殊字符的处理
- 发送请求的时候不能带特殊字符
- ajax之get方式请求对特殊字符的处理
- URL请求后台获取不到特殊字符的参数
- http请求数据包含特殊字符处理(java)
- Http请求带有特殊字符的参数处理
- http请求 url 传递参数(特殊字符)解决方法
- http请求数据包含特殊字符处理(java)
- http文件服务器下载接口中文,特殊字符问题
- C# 调用目标异常
- 不同坐标系之间的转换
- Java实现-最长公共前缀
- simditor 限制图片格式 和 上传图片过慢
- Tensorflow MNIST for Android
- 接口请求特殊字符
- TD-LTE RRC连接重建-理论分析
- volley框架的使用
- Linux下使用github教程
- 归并排序的Java实现
- Angular4 开发环境搭建
- 推荐几款实用的Android Studio 插件
- C#将字符串转换为整型的三种方法的总结
- android gps机制分析--定位数据HAL处理