采用Ajax传递数据时,通常会将数据整理为data="var1=abc&var2=def"。而当数据中存在加号(+)或是连接符(&)时,服务器端接收数据时会有部分数据丢失现象。
分析一下Ajax传递数据的格式与Javascript的语法不难发现:
1. "+"号:JavaScript解析为字符串连接符,所以服务器端接收数据时"+"会丢失。
2. "&":JavaScript解析为变量连接符,所以服务器端接收数据时&符号以后的数据都会丢失。
解决办法也相当简单,只需要为+与&符号编码即可:
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,false); xmlHttp.onreadystatechange = handleStateChange; xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlHttp.send(queryString); }
相关推荐
在ajax中使用post方法,用常规的参数格式:param1=a1¶m2=a2 ,当参数长度过长时,依然提交不成功。比如我们经常这样写一个ajax的post请求: $.ajax({ type: "post", // post or get contentType:"application...
Java 模拟Ajax POST GET 提交代码,实测很好用。
ajax+pako.js实现gzip数据压缩上传,解决post数据过长问题 http://blog.csdn.net/jodenhe/article/details/70983781
AJAX POST与get提交数据的差别,喜欢了解详细内容的朋友可以下载学习!
Django中使用ajax post向后台传送数据时403 Forbidden (CSRF token missing or incorrect.):的解决办法
Ajax使用POST提交中文乱码问题.docx
Ajax开发过程表单提交数据出现乱码和解决办法
PHP+Jquery+AJAX POST,GET提交表单并接收返回
lotus domino AJAX post数据
本文实例为大家分享了ajax提交时校验表单的方法,供大家参考,具体内容如下 方法一: 代码示例: 巧妙设计之处:ajax提交的话,不能够进行校验拦截,设置一个flag来判断,很巧妙的设计之处,故收藏! function ...
lotus domino AJAX post代理获取大量数据时
需要对webconfig修改,主要是要修改页面编码格式为utf-8
Ajax+JSON 改善Form提交数据的 UI 交互设计
利用jquery的ajax提交表单数据到后台。后台使用spring.
jQuery ajax、post、get、json格式传递数据例子 jQuery ajax、post、get、json格式传递数据例子
以前在面试的时候经常遇到问关于跨域的事儿,所以自己对跨域有一定的概念性了解,知道什么是跨域以及解决跨域的方法,但是具体实际从来没有操作过,直到最近在公司项目中,遇到了一个需要使iframe跨域进行POST提交的...
AJAX学习,可以看到无刷新评论. AJAX是面试都会直接让你手写AJAX的,该程序就是纯手写简单AJAX.
本文实例分析了TinyMCE提交AjaxForm获取不到数据的解决方法。分享给大家供大家参考。具体分析如下: 在没有使用AjaxForm前,我做的一个小小的评论提交的Web form,评论内容使用了TinyMCE做文本编辑。为了增加一点点...
ajax提交时,后台接收的参数出现中文乱码的解决方法,
解决ajax异步提交后台取值中文乱码问题,提供两种解决方法