Php 利用ajax中的post方法发送数据

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

我有一个带有隐藏字段的表单,希望将值发送到另一个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='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控制台中是否存在任何错误?您是否已检查开发人员工具的“网络”选项卡以查看实际发送的内容?