您的位置:首页 > 其它

Ajax Post数据时加号变空格的解决办法

2012-02-14 13:52 393 查看
 

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

  分析一下Ajax传递数据的格式与Javascript的语法不难发现:
  1. "+"号:JavaScript解析为字符串连接符,所以服务器端接收数据时"+"会丢失。
  2. "&":JavaScript解析为变量连接符,所以服务器端接收数据时&符号以后的数据都会丢失。

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

function URLencode(sStr)

{

return escape(sStr).replace(/\+/g, '%2B').replace(/\"/g,'%22').replace(/\'/g, '%27').replace(/\//g,'%2F');

}

对字符串进行处理.如:

Java代码



var str=URLencode("abc+");

或者:

Java代码



dst_fname=dst_fname.replaceAll("\\+","%20");

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: