Php 利用ajax中的post方法发送数据
我有一个带有隐藏字段的表单,希望将值发送到另一个php页面,处理请求并将其显示在div标记中。但是,AJAX似乎没有发布隐藏字段值 下面是我的表单和ajax代码Php 利用ajax中的post方法发送数据,php,ajax,Php,Ajax,我有一个带有隐藏字段的表单,希望将值发送到另一个php页面,处理请求并将其显示在div标记中。但是,AJAX似乎没有发布隐藏字段值 下面是我的表单和ajax代码 <form name='cc' method='post' onsubmit='return disp()'> <input name='id' type='hidden' value='" . $id. "'/> <input type='submit' name='btnr' value='Displa
<form name='cc' method='post' onsubmit='return disp()'>
<input name='id' type='hidden' value='" . $id. "'/>
<input type='submit' name='btnr' value='Display' />
</form>
<script>
function disp(){
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("display").innerHTML=xmlhttp.responseText;
}
}
var id=document.forms["cc"]["id"].value;
xmlhttp.open("POST","fetch.php",true);
xmlhttp.send(id);
}
</script>
函数disp(){
var-xmlhttp;
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“display”).innerHTML=xmlhttp.responseText;
}
}
var id=document.forms[“cc”][“id”].value;
open(“POST”,“fetch.php”,true);
xmlhttp.send(id);
}
它应该是:
xmlhttp.send('id=' + urlencode(id));
您需要包含表单元素名,以便PHP可以将其放入$\u POST
中
您还需要输入
返回false代码>位于disp()的末尾,以防止正常表单提交,这将重新加载页面。Javascript控制台中是否有任何错误?你有没有检查过开发者工具的“网络”选项卡以查看实际发送的内容?如果我使用get方法,那么一切正常;如果我使用post方法而不使用ajax,那么一切正常,但是不知道如果我使用post方法和ajax,会出现什么问题更新答案:你需要返回false
。没有,PHP在填写$\u POST
时会自动执行此操作。Javascript控制台中是否存在任何错误?您是否已检查开发人员工具的“网络”选项卡以查看实际发送的内容?