您的位置:首页 > Web前端 > jquery > 正文

Ajax Post请求数据中加号变空格的解决方法

更多 时间:2016-8-7 类别:Web前端 浏览量:2480

Ajax Post请求数据中加号变空格的解决方法

Ajax Post请求数据中加号变空格的解决方法

一、后台获取Ajax Post请求数据中参数值是,加号变空格的原因

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

 

二、解决方法:将+与&符号进行编码后进行传递

例如:

  •  
  •  
  • JScript 代码   复制
  • 
    
    //使用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,false);
        xmlHttp.onreadystatechange = handleStateChange;
        xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        xmlHttp.send(queryString);
    }
    
    		
  •  

    标签:ajax
    您可能感兴趣