本文主要是介绍Ajax Post数据时加号变空格的解决办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。
注意:该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。
采用Ajax传递数据时,通常会将数据整理为data=“var1=abc&var2=def”。而当数据中存在加号(+)或是连接符(&)时,服务器端接收数据时会有部分数据丢失现象。
分析一下Ajax传递数据的格式与Javascript的语法不难发现:
-
"+“号:JavaScript解析为字符串连接符,所以服务器端接收数据时”+"会丢失。
-
“&”:JavaScript解析为变量连接符,所以服务器端接收数据时&符号以后的数据都会丢失。
解决办法也相当简单,只需要为+与&符号编码即可:
在 javascript 中加入
function URLencode(sStr)
{ return escape(sStr).replace(/\+/g, '%2B').replace(/\"/g,'%22').replace(/\'/g, '%27').replace(/\//g,'%2F'); }
这篇关于Ajax Post数据时加号变空格的解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!