如何用xmlhttprequest, 把用户输入的数据 post 到cgi程序中. 接收数据端的页面是用 cgi写的,

<html><head><scripttype="text/javascript">varxmlhttp;varparams="name=jese&sex=wom... <html>
<head>
<script type="text/javascript">
var xmlhttp;
var params = "name=jese&sex=womanz";

function postXMLDoc(url)
{
document.write("<i>" + url + " </i><br/>");
document.write("<b>" + params + " </b><br/>");
xmlhttp=null;
if (window.XMLHttpRequest)
{// code for IE7, Firefox, Opera, etc.
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

if (xmlhttp!=null)
{
/*xmlhttp.onreadystatechange=state_Change;*/
xmlhttp.open("POST", url, false);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
/*xmlhttp.setRequestHeader("Content-length", params.length); */
xmlhttp.send(params);
}
else
{
alert("Your browser does not support XMLHTTP.");
}
}
function state_Change()
{
if (xmlhttp.readyState==4)
{// 4 = "loaded"
document.write("<b>" + " responseText "+ " </b><br/>");
if (xmlhttp.status==200)
{// 200 = "OK"
document.write("OK OK OK OK ");
}
else
{
alert("Problem retrieving XML data:" + xmlhttp.statusText);
}
}
}
</script>
</head>
<body>
<h2>Using the HttpRequest Object</h2>

<form>
Email: <input type="text" name="Email" size="30"><br/>
Name: <input type="text" name="Name" size="30"><br/>
<button onclick="postXMLDoc('/cgi-bin/gbook.cgi')">post date</button>
</form>

</body>
</html>

服务器上有 cgi-bin/gbook.cgi 这个文件, 可以显示,
但是怎样把用户输入的 email和name, 传给 gbook.cgi ?? 谢谢.
展开
 我来答
woshixindong
2012-04-12 · TA获得超过432个赞
知道小有建树答主
回答量:268
采纳率:100%
帮助的人:318万
展开全部
给表单加上ID方便下面取值
Email: <input type="text" name="Email" size="30" id="Email"><br/>
Name: <input type="text" name="Name" size="30" id="Name"><br/>
//把对应的应变放到函数中
function postXMLDoc(url){
var xmlhttp,Name=document.getElementById("Name").value,Email=document.getElementById("Email").value;
var params = "name="+Name+"&Email="+Email+"&sex=womanz";
//把下面的两句去掉
// document.write("<i>" + url + " </i><br/>");
// document.write("<b>" + params + " </b><br/>
if (window.XMLHttpRequest)
{// code for IE7, Firefox, Opera, etc.
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

if (xmlhttp!=null)
{
/*xmlhttp.onreadystatechange=state_Change;*/
xmlhttp.open("POST", url, false);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
/*xmlhttp.setRequestHeader("Content-length", params.length); */
xmlhttp.send(params);
}
else
{
alert("Your browser does not support XMLHTTP.");
}
}
function state_Change()
{
if (xmlhttp.readyState==4)
{// 4 = "loaded"
document.write("<b>" + " responseText "+ " </b><br/>");
if (xmlhttp.status==200)
{// 200 = "OK"
document.write("OK OK OK OK ");
}
else
{
alert("Problem retrieving XML data:" + xmlhttp.statusText);
}
}
}
追问
非常谢谢你, 
怎样把 Email和 name 放到 javascript 中, 然后再 send ? 谢谢
追答
上面的程序中有send动作
xmlhttp.send(params)
params含有Email和 name 的内容。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式