When using Ajax to pass data, the data is usually organized into Data= "Var1=abc&var2=def". When there is a plus (+) or connector (&) in the data, there is some data loss when the server receives the data.
Analyzing the format of the Ajax pass-through data and JavaScript syntax is easy to find:
1. "+" number: javascript resolves to a string connector, so "+" is lost when the server receives the data.
2. "&": javascript resolves to a variable connector, so the data on the server side of the & symbol will be lost when the data is received.
The solution is quite simple, just encode + and & symbols:
Use post to send
Functiondorequestusingpost ()
{
createxmlhttprequest ();
Varretcode = document.getElementById ("RetCode"). Value;
Vardata = document.getElementById ("Data"). Value;
data = Data.replace (/\+/g, "%2b");
data = Data.replace (/\&/g, "%26");
varquerystring = "Retcode=" + RetCode + "&data=" + data;
varURL = "Backsealservlet";//Use the URL to pass the value
xmlhttp.open ("POST", Url,false) to the background;
Xmlhttp.onreadystatechange = Handlestatechange;
Xmlhttp.setrequestheader ("Content-type", "application/x-www-form-urlencoded");
Xmlhttp.send (queryString);
}