Простой PHP, AJAX-запрос - PullRequest
       1

Простой PHP, AJAX-запрос

2 голосов
/ 31 августа 2010

Сейчас я пытаюсь заставить работать этот простой PHP-запрос AJAX.

<html>
    <head>
      <script type="text/javascript">
        function getSuggestions(type){
          if(type == "")
          {
            document.getElementById("entries").innerHTML="test"
            return;
          }
          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("entries").innerHTML=xmlHttp.response; 
            }
          }
          xmlHttp.open("GET","getData.php?status="+type,true);
          xmlHttp.send();
        }
      </script>
    </head>
    <body>
    <div id="A" onclick='getSuggestions("A")'>Click for A</div>
    <div id="P" onclick='getSuggestions("P")'>Click for P</div>
    <div id="R" onclick='getSuggestions("R")'>Click for R</div>
    <div id="entries"></div>
    </body>
   </html>

Ниже приведен getData.php

<?php
  $status = $_GET["status"];
  echo $status;
?>

Каждый раз, когда я нажимаю на любой из тегов, я получаю "undefined" в теге "records" Кто-нибудь может объяснить, почему он не определен?

Ответы [ 2 ]

5 голосов
/ 31 августа 2010

использовать xmlHttp.responseText

3 голосов
/ 31 августа 2010

Вот как я справляюсь с AJAX.По сути, пример ответа Акеллехе

function getSuggestions(type){
    if(type == "") {
        document.getElementById("entries").innerHTML="test"
        return;
    }

    var r = getXmlObject();
    var url= "getData.php?status="+type;

    if (r.readyState == 4 || r.readyState == 0) {

        r.open("POST", url, true);

        r.onreadystatechange = function (){
            if (r.readyState == 4) {
                document.getElementById("entries").innerHTML= r.responseText; 
            }
        };

        r.send(null);

    }   
}

////////////////////////////////////
function getXmlObject() {
    if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
    } else if(window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        alert('Status: Cound not create XmlHttpRequest Object. Consider upgrading your browser.');
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...