PHP Post не работает с Ajax - PullRequest
       4

PHP Post не работает с Ajax

0 голосов
/ 21 ноября 2010

У меня есть простая форма:
<form id="formTest" name="formTest" action="" method="get">
<input id="txtPostcode" name="Postcode" type="text" class="txtBoxSmall" /> <input type="button" name="SubmitTheForm" id="btnSubmit" onClick="TestAjax()" value="submit" />
</form>

Мой код 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];

Но если я избавлюсь от функции JavaScript в кнопке отправкии добавьте action = "autocomplete.php" в тег формы, он будет работать, но тогда, конечно, он не является ajaxed.Может кто-нибудь сказать мне, почему я не могу получить какие-либо значения из $ _GET [почтовый индекс] при ajaxing ??Я знаю, что могу просто передать значение txtPostcode в URL, но я не хочу делать это таким образом, есть ли что-то, что я могу сделать, чтобы я мог получить доступ к текстовому полю с помощью вызова $ _GET [Postcode] в php ??

Спасибо.

1 Ответ

1 голос
/ 21 ноября 2010

Вам необходимо изменить эту строку:

xmlhttp.open("GET","autocomplete.php?value1=aaaaa&value2=fffff",true);

для включения всех значений, которые вы хотите получить в $_GET[] в PHP. Вы можете сделать:

var postcode = document.getElementById('txtPostcode').value;
xmlhttp.open("GET","autocomplete.php?value1=aaaaa&value2=fffff&Postcode=" + postcode,true);

и аналогичные для любых дополнительных вещей, к которым вы хотите получить доступ в PHP.

Я полностью согласен с комментариями ниже - взгляните на jQuery, это сделает вашу жизнь намного проще. Начните здесь, например:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...