Martin16: Ajax

Hey ihr da draussen,

ich weiss zwar nicht, ob ich im richtigem Forum bin, aber Ajax gehoert ja eigentlich zu javascript, wenn ich mich richtig informiert habe.
Ich lerne gerade Ajax, aber da es kein richtig gutes und umfangreiches Tutorial gibt, muss ich mir meine Skripte (um zu testen ob es funktioniert) selber zusammenflicken, leider weiss ich nicht, ob alles an der richtigen Stelle sitzt.

Erstmal Quellcode (gekuerzt):

<head>

  
<!--  
//Browser Support Code  
function ajaxFunction(a){  
 var ajaxRequest;  // The variable that makes Ajax possible!  
  
 try{  
  // Opera 8.0+, Firefox, Safari  
  ajaxRequest = new XMLHttpRequest();  
 } catch (e){  
  // Internet Explorer Browsers  
  try{  
   ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");  
  } catch (e) {  
   try{  
    ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");  
   } catch (e){  
    // Something went wrong  
    alert("Your browser broke!");  
    return false;  
   }  
  }  
 }  
 // Create a function that will receive data sent from the server  
 ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");  
    ajaxRequest.setRequestHeader("Content-length", params.length);  
    ajaxRequest.setRequestHeader("Connection", "close");  
  
 ajaxRequest.onreadystatechange = function(){  
  if(ajaxRequest.readyState == 4){  
   var ajaxDisplay = document.getElementById('newsbereich');  
   ajaxDisplay.innerHTML = ajaxRequest.responseText;  
  }  
 }  
 var age = document.getElementById('').value;  
 ajaxRequest.open("POST", "get_news.php", true);  
 ajaxRequest.send(a);  
}  
  
//-->  
  
  

  
</head>  
<body>  
<a href="javascript:ajaxFunction(1)" id="news1">Erste News</a>  
<a href="javascript:ajaxFunction(2)" id="news2">Zweite News</a>  
<p id="newsbereich"></p>  
</body>  

Jetzt den php code in der ausgelagerten Datei:

  
if ($_POST['']=="1"){  
echo "hello, news 1!";  
}  

Wenn man auf den ersten link klickt, soll einfach nur "hello, news 1!" erscheinen, nichts weiter, klappt aber nicht. Ich glaub es hat was damit zu tun, was bei ajaxRequest.send in den klammern drinsteht, kann mir aber keinen Reim draufbilden, wie sich das verbessern laesst....

Hoffentlich koennt ihr mir helfen

mfg Martin

  1. ajaxRequest.setRequestHeader("Content-length", params.length);

    Du verwendest hier das Objekt params, welches jedoch überhaupt nicht gesetzt ist. Des weiteren versuchst Du, einfach die Ziffer 1/2 zu übertragen, was jedoch so nicht funktioniert: POST-Daten werden nach dem Schema x=y übertragen; statt params.length musst Du die Länge dieses Strings angeben, damit der Server das richtig verarbeiten kann.

    Bisher kein schlechter Versuch. Wenn Du es Dir einfach machen willst, schau mal nach JavaScript-Toolkits wie jQuery, Prototype oder mootools, die machen Dir solche Aufgaben einfacher.

    Gruß, LX

    --
    X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: Unusual
    X-Please-Search-Archive-First: Absolutely Yes
    1. Du verwendest hier das Objekt params, welches jedoch überhaupt nicht gesetzt ist. Des weiteren versuchst Du, einfach die Ziffer 1/2 zu übertragen, was jedoch so nicht funktioniert: POST-Daten werden nach dem Schema x=y übertragen; statt params.length musst Du die Länge dieses Strings angeben, damit der Server das richtig verarbeiten kann.

      also ich hab jetzt:

      ajaxRequest.setRequestHeader("Content-length",1); und  
      ajaxRequest.send(news=a); 
      ~~~wobei a die javascriptvariable aus dem funktionsaufruf ist... aber da fehlt noch irgendwas.....  
        
      
      > Bisher kein schlechter Versuch. Wenn Du es Dir einfach machen willst, schau mal nach JavaScript-Toolkits wie jQuery, Prototype oder mootools, die machen Dir solche Aufgaben einfacher.  
      >   
      > Gruß, LX  
        
      von jQuery hab ich schon gehoert, dass Problem ist halt, ich hab Javascript nie richtig ausfuehrlich gelernt, nur in den letzten Tage kleine Kurztutorials durchgelesen und ich hab gedacht fuer jQuery muesste man Ajax(also Javascript) gut beherschen. Gibt es eine Webseite wo besonders auf die Javascriptfunktionen, die man fuer Ajax braucht, eingegangen wird?  
        
      martin
      
      1. »» ajaxRequest.send(news=a);

        Nah dran. news=a ist eine Zuweisung, kein String - und die Länge ist auch nicht 1.

        von jQuery hab ich schon gehoert, dass Problem ist halt, ich hab Javascript nie richtig ausfuehrlich gelernt, nur in den letzten Tage kleine Kurztutorials durchgelesen und ich hab gedacht fuer jQuery muesste man Ajax(also Javascript) gut beherschen. Gibt es eine Webseite wo besonders auf die Javascriptfunktionen, die man fuer Ajax braucht, eingegangen wird?

        Im Gegenteil, jQuery nimmt dem Entwickler viel Arbeit ab. Allerdings ist es durchaus sinnvoll, die dahinterstehenden Techniken zu verstehen, bevor man sich diese Arbeit von einem Toolkit abnehmen läßt.

        Und ja, es gibt sogar mehrere Webseiten, die sich mit Ajax beschäftigen. Suche, und Du wirst finden.

        Gruß, LX

        --
        X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: Unusual
        X-Please-Search-Archive-First: Absolutely Yes
        1. Nah dran. news=a ist eine Zuweisung, kein String - und die Länge ist auch nicht 1.

          »»Aber wenn a eine Variable ist, muesste das doch funktionieren, oder? naja, ich schau mir javascript nochmal genau an...

          Im Gegenteil, jQuery nimmt dem Entwickler viel Arbeit ab. Allerdings ist es durchaus sinnvoll, die dahinterstehenden Techniken zu verstehen, bevor man sich diese Arbeit von einem Toolkit abnehmen läßt.

          dann werd ich mich mal auf meinen arsch hocken muessen und javascript etwas ausfuehrlicher lernen muessen.

          Und ja, es gibt sogar mehrere Webseiten, die sich mit Ajax beschäftigen. Suche, und Du wirst finden.

          das problem ist halt, dass die Webseiten Ajax meisst nur mit 2 unterkapiteln beschreiben und die jeweiligen Javscriptfunktionen nicht bbeachtet werden (jedenfalls auf den letzten 20 Tutorials wo ich reingeschaut habe)

          Gruß, LX

          aber vielen dank schonmal... :) und ein frohes neues

      2. Gibt es eine Webseite wo besonders auf die Javascriptfunktionen, die man fuer Ajax braucht, eingegangen wird?

        Galileo Openbook Javascript und Ajax

        1. Gibt es eine Webseite wo besonders auf die Javascriptfunktionen, die man fuer Ajax braucht, eingegangen wird?

          Galileo Openbook Javascript und Ajax

          perfekt, genau das, wonach ich gesucht habe, ein grosses Tutorial mit einem eigenem Ajaxkapitle, dankeschoen :)

          martin