Seite 1 von 1

AJAX...

Verfasst: Sonntag 11. November 2007, 19:16
von nemomuk
Hat jemand eine Ahnung, warum das hier nicht geht?

Code: Alles auswählen

function ajax(url){
                 var req = null;

                try{
                    req = new XMLHttpRequest();
                }
                catch (ms){
                    try{
                        req = new ActiveXObject("Msxml2.XMLHTTP");
                    } 
                    catch (nonms){
                        try{
                            req = new ActiveXObject("Microsoft.XMLHTTP");
                        } 
                        catch (failed){
                            req = null;
                        }
                    }  
                }

                if (req == null)
                      alert("Fehler!");
                  req.open("GET", url + '.py', true);
                req.onreadystatechange = function(){            
                    switch(req.readyState) {
                            case 4:
                            if(req.status!=200) {
                                alert("Fehler:"+req.status); 
                            }else{    
                                document.getElementById(url).innerHTML = req.responseText;
                            }
                            break;
                    
                            default:
                                return false;
                            break;     
                        }
                    };
  
                  req.setRequestHeader("Content-Type",
                                      "application/x-www-form-urlencoded");
                req.send(null);
			}




<form>
			<input type="text" value="1" size="1" name="eintrag_anzahl" /><input type="button" onclick="ajax('neuer_eintrag')" value="Neuer Eintrag" />
		</form>
<div id="neuer_eintrag"></div>

Code: Alles auswählen

#!/usr/bin/python
import cgitb; cgitb.enable()
import cgi
form=cgi.FieldStorage()
print "Content-Type: text/html\n"

if form.has_key("eintrag_anzahl"):
	print form["eintrag_anzahl"].value 
print "asd"


das asd wird ausgegeben nur das was eigentlich ausgegeben werden soll, eben nicht...

Danke!

Verfasst: Sonntag 11. November 2007, 20:10
von nemomuk
Kann es daran liegen, dass ich den mod_python habe?

Verfasst: Sonntag 11. November 2007, 21:15
von gerold
Hallo SchneiderWeisse!

Ich habe den Code jetzt einfach nur mal grob überflogen. Also schlagt mich nicht, wenn ich etwas übersehen habe.
Mir scheint, du forderst einfach **NUR** per GET (``req.open("GET", url + '.py', true);``) Daten vom Server an. Dabei werden die Daten vom Formular nicht an den Server gesendet.

Entweder du hängst die Daten an die URL an oder du machst das über einen POST-Request. Ich weiß allerdings nicht, wie man so etwas mit JavaScript macht. Frage mich in zwei Wochen noch einmal. Dann habe ich das JavaScript-Buch fertig durchgelesen. :P

mfg
Gerold
:-)

Verfasst: Sonntag 11. November 2007, 23:31
von Leonidas
gerold hat geschrieben:Entweder du hängst die Daten an die URL an oder du machst das über einen POST-Request. Ich weiß allerdings nicht, wie man so etwas mit JavaScript macht.
Naja, bei JavaScript bin ich immer zu faul ein Buch zu lesen (außer "kurz & gut", das ist ok), wenn man sich sowieso alles mit einer Suchmaschine finden kann. Zum Beispiel hier.

Hint: JavaScript library nutzen. Die die ich nutze, jQuery kann auch AJAX-Requests via POST schicken. Gleiches gilt für Dojo (scheint POST auch zu können), Prototype (nutzt POST als Default für AJAX), MochiKit, Mootools (nutzt auch POST per Default). Mehr Libs zu checken mag ich nicht mehr. Bis auf jQuery nutze ich auch keine von denen obwohl viele durchaus gut klingen komme ich nicht dazu, weil jQuery eben der Grund ist, warum JS Spaß machen kann :D Vielleicht probiere ich aber mal Ext + jQuery.

Verfasst: Montag 12. November 2007, 11:01
von apollo13
@Leonidas: jetzt kommt doch eh jqueryUi, gibt also bald keinen Grund für extJs mehr :)

Verfasst: Montag 12. November 2007, 16:28
von Leonidas
apollo13 hat geschrieben:jetzt kommt doch eh jqueryUi, gibt also bald keinen Grund für extJs mehr :)
Ah, ok. Wobei ich zugeben muss, das ExtJS auch ziemlich interessant ausschaut.

Was jetzt praktisch wäre, wäre ein Library-Vergleich, denn es gibt wirklich eine *menge* Libs, die zumindest auf den ersten Blick Klasse ausschauen.

Verfasst: Dienstag 13. November 2007, 08:22
von apollo13
Klar andere Libs schauen auch nicht schlecht aus (ala mootools). Aber Jquery überzeugt mich duch Chaining CSS-Selektoren etc. Bloated Frameworke wie YUI fallen bei mir sowieso durch, und jQuery finde ich war eine gute Wahl (für jemanden wie mich, der nicht viel Javascript kann :)).

Was UI betrifft ist Ext-JS sicher das Enterprise Paket aber auch etwas kompliziert. Da gibt es Data Proxies etc, bis man zur Anzeige kommt, das ist mir fast zu aufwändig (sicher wenn man es einmal kann...). Hier verspricht jQuery-UI allerdings eine nette Alternative zu werden, wenn die Einfachheit von jQuery beibehalten wird (was mir im irc zumindest versichert wurde, und es schaut auch einfach aus)