Javascript 为什么;“空间”;在ajax post方法中不支持?
下面是我的htmlJavascript 为什么;“空间”;在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>
<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);