我在页面上得到BASE64编码想通过AJAX方式与后台交互,但是后台得到的数据所有的+号都变成了空格,查了一下。

采用Ajax传递数据时,通常会将数据整理为data="var1=abc&var2=def"。而当数据中存在加号(+)或是连接符(&)时,服务器端接收数据时会有部分数据丢失现象。

分析一下Ajax传递数据的格式与Javascript的语法不难发现:

1. "+"号:JavaScript解析为字符串连接符,所以服务器端接收数据时"+"会丢失。

2. "&":JavaScript解析为变量连接符,所以服务器端接收数据时&符号以后的数据都会丢失。

解决办法也相当简单,只需要为+与&符号编码即可:

//使用post方式发送

function doRequestUsingPOST()

{

createXMLHttpRequest();

var retCode = document.getElementById("retCode").value;

var data = document.getElementById("data").value;

data = data.replace(//+/g, "%2B");

data = data.replace(//&/g, "%26");   var queryString = "retCode="+retCode+"&data="+data;

var url="backSealServlet" ; //使用URL向后台传值

//xmlHttp.open("POST",url,true);

xmlHttp.open("POST",url,false);

xmlHttp.onreadystatechange = handleStateChange;

xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

xmlHttp.send(queryString);

//alert("结束  "+retCode);

}

ajax post 空格变加号,Ajax Post数据加号变空格详解相关推荐

  1. JSON数据构造及解析详解

    JSON数据构造及解析详解 1.JSON格式数据长啥样? 2.JSON简介 JSON(Javascript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,也易于机器解析和 ...

  2. matlab中读入sav,matlab数据读取与存入详解

    matlab数据读取与存入详解 在编写一个程序时,经常需要从外部读入数据,或者将程序运行的结果保存为文件.MATLAB使用多种格式打开和保存数据.本章将要介绍 MATLAB中文件的读写和数据的导入导出 ...

  3. mysql数据存储过程详解_mysql数据存储过程参数实例详解

    MySQL 存储过程参数有三种类型:in.out.inout.它们各有什么作用和特点呢? 一.MySQL 存储过程参数(in) MySQL 存储过程 "in" 参数:跟 C 语言的 ...

  4. 大数据发展规划及技术详解

    大数据发展规划及技术详解 1.BI的流程:主要是阐述一下BI的流程:第一,需求分析阶段,要搞清楚用户需求,就本例用户想要的是volte业务使用情况的月报表,必须要搞清楚月报表中包括哪些指标(包括维度指 ...

  5. kettle工具下载、安装、数据迁移、定时任务详解

    kettle工具下载.安装.数据迁移.定时任务详解 篇幅有点长,将这五个内容放在了一篇文章里,其中最主要的是数据迁移和定时任务 目录 目录 一.简单介绍 二.下载 三.安装 四.数据迁移:包括单表整体 ...

  6. docker导入MySQL文件_Docker容器中Mysql数据的导入/导出详解

    前言 Mysql数据的导入导出我们都知道一个mysqldump命令就能够解决,但如果是运行在docker环境下的mysql呢? 解决办法其实还是用mysqldump命令,但是我们需要进入docker的 ...

  7. 一篇文章带你快速理解JVM运行时数据区 、程序计数器详解 (手画详图)值得收藏!!!

    受多种情况的影响,又开始看JVM 方面的知识. 1.Java 实在过于内卷,没法不往深了学. 2.面试题问的多,被迫学习. 3.纯粹的好奇. 很喜欢一句话:"八小时内谋生活,八小时外谋发展. ...

  8. python接入excel_使用python将excel数据导入数据库过程详解

    因为需要对数据处理,将excel数据导入到数据库,记录一下过程. 使用到的库:xlrd 和 pymysql (如果需要写到excel可以使用xlwt) 直接丢代码,使用python3,注释比较清楚. ...

  9. python在统计专业的应用_Python统计学一数据的概括性度量详解

    一.数据的概括性度量 1.统计学概括: 统计学是应用数学的一个分支,主要通过利用概率论建立数学模型,收集所观察系统的数据,进行量化的分析.总结,并进而进行推断和预测,为相关决策提供依据和参考.统计学主 ...

  10. mysql-bin 查看_Mysql Binlog数据查看的方法详解

    binlog介绍 binlog,即二进制日志,它记录了数据库上的所有改变. 改变数据库的SQL语句执行结束时,将在binlog的末尾写入一条记录,同时通知语句解析器,语句执行完毕. binlog格式 ...

最新文章

  1. chrome插件开发记录(1)——解决问题“清单文件缺失或不可读”
  2. 神经网络与机器学习 笔记—支持向量机(SVM)(上)
  3. 技术团队新官上任之基层篇
  4. 『数据库』朴实无华的数据库多表查询,连接查询、笛卡尔积
  5. Sublime text 2下alignment插件无效的解决办法
  6. uniapp 自动播放背景音乐
  7. 除了数据恢复,EasyRecovery还有这样的功能!
  8. JavaScript权威指南学习笔记(一)
  9. 九段系统服务器,人力资源一卡通考勤系统
  10. 色环电阻在线计算器(收藏)
  11. luogu P3324 [SDOI2015]星际战争
  12. 2022年最新上海机动车签字授权人模拟试题及答案
  13. bzoj 1269 editor
  14. 浅谈Android视频缓存库
  15. JAVA5 8 9章复习
  16. 2小时速刷8大项目——上海迪士尼一日游攻略
  17. python摄像头动作捕捉_OpenMMD:没有专业摄像设备也能动作捕捉!K帧动作设计苦手的福音~...
  18. NFC-A/NFC-B/NFC-F 区别
  19. 步进电机 28BYJ-48介绍和驱动及编程
  20. 更好的Android多线程下载框架

热门文章

  1. matlab搜索路径
  2. 深圳30周年看×××之旅
  3. IOCP之accept、AcceptEx、WSAAccept的区别
  4. 吴恩达深度学习课程deeplearning.ai课程作业:Class 1 Week 4 assignment4_1
  5. px4 uavcan linux,PX4开发指南-12.2.1.UAVCAN Bootloader
  6. 用c语言读取固定大小的raw格式图像并统计灰度值
  7. 64 os 驱动签名
  8. ddr test DCD CFG file CBT
  9. 一次诡异的数据库死锁问题排查过程
  10. (转)RabbitMQ学习之spring整合发送异步消息(注解实现)