2010-08-30 4 views
2

Прямо сейчас я пытаюсь получить этот простой запрос PHP AJAX для работы.Простой 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; 
?> 

Everytime Я нажимаю на любом из тегов, которые я получаю "неопределенный" в "записях" метке. Может ли кто-нибудь объяснить, почему он не определен?

ответ

5

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

+1

+1 @akellehe - Danget ... бить меня это = P –

+0

хахаха, :) спасибо – KeatsKelleher

+0

Wow не могу поверить, что я пропустил, что: р, спасибо – Albinoswordfish

3

Это, как я обрабатывать AJAX. По существу пример ответа akellehe в

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.'); 
    } 
} 
+0

где сделал getReq пришел? – Albinoswordfish

+0

кричит. Ошибка Copy-n-Paste .. receiveReq должен быть просто «r» - исправлен в сообщении. – Dutchie432

Смежные вопросы