PHP Post不使用Ajax

PHP Post不使用Ajax,php,ajax,post,Php,Ajax,Post,我有一个简单的表格: 我的Javascript代码是: function TestAjax(){ var xmlhttp; if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadysta

我有一个简单的表格:



我的Javascript代码是:

function TestAjax(){
    var xmlhttp;
    if (window.XMLHttpRequest)
    {
        xmlhttp=new XMLHttpRequest();
    }
    else
    {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {

        }
    };
    xmlhttp.open("GET","autocomplete.php?value1=aaaaa&value2=fffff",true);
    xmlhttp.send();
}
我的问题是,在php文件autocomplete.php中,我无法访问txtPostcode元素,如下所示:

$postcodetext = $_GET[Postcode];
但是如果我去掉submit按钮中的javascript函数,并添加action=“autocomplete.php” 对于表单标记,它将起作用,但当然它不是ajax。有人能告诉我为什么我买不到吗 ajaxing??我知道我可以在URL中传递txtPostcode的值, 但是我不想这样做,有什么我可以做的,我可以通过 $\u在php中获取[Postcode]调用


谢谢。

您需要更改此行:

xmlhttp.open("GET","autocomplete.php?value1=aaaaa&value2=fffff",true);
要在PHP中包含要在
$\u get[]
中获取的所有值,请执行以下操作。你可以做:

var postcode = document.getElementById('txtPostcode').value;
xmlhttp.open("GET","autocomplete.php?value1=aaaaa&value2=fffff&Postcode=" + postcode,true);
对于您希望在PHP中访问的任何其他内容,也类似

我完全同意下面的评论——看看jQuery,它会让你的生活更轻松。从这里开始,例如:


将来,在发布问题/答案/评论时,格式化代码将非常有用。请阅读此处的帮助:。请注意,您可以在发布后编辑您的帖子以设置其格式。这不是帖子,而是GET。Icyrock的观点是正确的,这就是您修复代码的方式,但除非您有充分的理由不使用javascript库,否则我强烈建议您使用jQuery或Prototype来减轻在Ajax.xmlhttp.open(“GET”、“…”)中工作的痛苦;将创建新的ajax页面请求,而不是直接提交表单值。谢谢大家的帮助。这是我第一次使用论坛,你们反应很快,干杯。