用ajax发送多个数据
问题描述:
我想使用ajax来添加数据库中的数据,我发现下面的代码在网络中,它工作正常。用ajax发送多个数据
<script language='javascript'>
reqObj=null;
function saveCust(){
document.getElementById('res').innerHTML='processing';
if(window.XMLHttpRequest){
reqObj=new XMLHttpRequest();
}else {
reqObj=new ActiveXObject('Microsoft.XMLHTTP');
}
reqObj.onreadystatechange=processSave;
reqObj.open('POST','./custSave?reqObj.open('POST','./cName?id='+document.getElementById('CustCode').value,true);,true);
reqObj.send(null);
}
function processSave(){
if(reqObj.readyState==4){
document.getElementById('res').innerHTML=reqObj.responseText;
}
}
</script>
上面的代码只发送一个字符串,但我的表单中有5个字符串。
请有人更改发送多个数据的代码。
答
的问题是,你在reqObj.open
功能发送一个参数:
reqObj.open('POST','./custSave?reqObj.open('POST','./cName?id='+document.getElementById('CustCode').value,true);,true);
请注意,您发送的唯一参数是id
。
可以在查询字符串的风味添加更多的参数:
id=something&otherParameter=else //and more parameters
IMO最简单的方法来处理Ajax请求将使用jQuery,如图所示,并深受BalusC在How to use Servlets and Ajax?解释。
基于样本那里jQuery Ajax POST example with PHP,你可以来用下面的代码:
-
假设5个字符串的形式为
function saveCust(){ $('#res').html('processing'); var $form = $(this); var serializedData = $form.serialize(); $.post('./custSave', serializedData, function(responseText) { $('#res').html(responseText); }); }
-
假设形式
外面有数据function saveCust(){ $('#res').html('processing'); var $form = $(this); var serializedData = $form.serialize() + "&id=" + $('#CustCode').val(); $.post('./custSave', serializedData, function(responseText) { $('#res').html(responseText); }); }
你甚至可以使用更多的jQuery函数来增强它,但这不在这个答案的范围之内。
坦克很多Luiggi门多萨... – 2013-02-20 05:43:09
不客气。如果这篇文章可以帮助你解决你的问题,请点击下面的检查点将其标记为答案。 – 2013-02-20 05:44:20