Javascript 为什么;“空间”;在ajax post方法中不支持?

Javascript 为什么;“空间”;在ajax post方法中不支持?,javascript,ajax,asp-classic,Javascript,Ajax,Asp Classic,下面是我的html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>New Page 1</title> <script type="text/javascript"> function Data_Check() { var xmlHttp; try { xmlHtt

下面是我的html

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 1</title>
<script type="text/javascript">
function Data_Check()
{
var xmlHttp;

try
  {  
  xmlHttp=new XMLHttpRequest();  }
catch (e)
  { 
   try
    {    
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");   
     }
  catch (e)
    {   
     try
      {     
       xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");   
          }
    catch (e)
      {      
      alert("Your browser does not support AJAX!");      
      return false; 
           }    
           } 
            }
  xmlHttp.onreadystatechange=function()
    {
    if(xmlHttp.readyState==4)
      {
      alert(xmlHttp.responseText);
      }
    }   

    var RES = document.getElementById("Remarks").innerHTML;
    var params ="RES="+RES;
    xmlHttp.open("POST","Data_Check.asp",true);       
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", params.length);
    xmlHttp.setRequestHeader("Connection", "close");
    xmlHttp.send(params);

   }
</script>
</head>

<body>
<textarea id="Remarks" rows="5" name="Remarks" cols="79" style="font-family: Arial; font-size: 11px">please, accept my submit form.</textarea>

<br>
<img id="Submit" onclick ="return Data_Check();" border="0" src="submit.png" width="145" height="28">
</body>
<img
</html>

新的第1页
函数数据检查()
{
var-xmlHttp;
尝试
{  
xmlHttp=newXMLHttpRequest();}
捕获(e)
{ 
尝试
{    
xmlHttp=新的ActiveXObject(“Msxml2.xmlHttp”);
}
捕获(e)
{   
尝试
{     
xmlHttp=新的ActiveXObject(“Microsoft.xmlHttp”);
}
捕获(e)
{      
警告(“您的浏览器不支持AJAX!”);
返回false;
}    
} 
}
xmlHttp.onreadystatechange=函数()
{
if(xmlHttp.readyState==4)
{
警报(xmlHttp.responseText);
}
}   
var RES=document.getElementById(“备注”).innerHTML;
var params=“RES=”+RES;
open(“POST”,“Data_Check.asp”,true);
setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
setRequestHeader(“内容长度”,参数长度);
setRequestHeader(“连接”,“关闭”);
xmlHttp.send(params);
}
请接受我的提交表格。

改变

document.getElementById(“备注”).innerHTML

document.getElementById(“备注”).value

尝试url编码:

var RES = encodeURIComponent(document.getElementById("Remarks").value);

我怀疑URL或HTTP头中不支持空格,因此旧URL使用
%20
而不是空格。现在,现代浏览器和服务器都在幕后完成这项工作

我发现使用
formValues=formValues.replace(//gi,“%20”)发送前已解决问题。

是,此问题已修复

例如:


var-dataString=“textcontent=“+test.replace(//gi,“%20”)

刚刚遇到此线程。如果你有时间,请阅读一些基本的jQuery介绍材料,我相信你会爱上它的。其想法是隐藏XMLHttpRequest的浏览器实现:)这对我来说很有效。无论出于什么原因,空格都被从我的字符串中删除了,因为这以前从未发生过,但这已经解决了它。
var RES = encodeURIComponent(document.getElementById("Remarks").value);