kostenloser Webspace werbefrei: lima-city


onkeyup an php Datei als Post übermitteln

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    kill-a-teddy

    Kostenloser Webspace von kill-a-teddy

    kill-a-teddy hat kostenlosen Webspace.

    Jedes mal, wenn eine Taste gedrückt wird, soll der Buchstabe in ein Array geschrieben werden und das als "Wort" gesucht werden... Das Array und das Suchen ist kein Problem, aber wie zum Teufel übermittel ich den mittels onkeyup und post oder get, dass jedesmal wenn man die Taste haut das Array erweitert werden soll und die Suche neu angefangen werden soll?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Warum eine Array? Nen String tut es auch.

    Mit Javascript machst du sowas...

    http://api.jquery.com/keyup/
    zusammen mit einem Ajax-Request:
    http://api.jquery.com/jQuery.ajax/

    Gruß
  4. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Das funktioniert auch über einen einfachen XMLHttpRequest:
    function createXMLHttpRequest() {
    	if(window.XMLHttpRequest) {
    		// code for IE7+, Firefox, Chrome, Opera, Safari
    		return new XMLHttpRequest();
    	} else {
    		// code for IE6, IE5
    		//return new ActiveXObject("Microsoft.XMLHTTP");
    		try {
    			return new ActiveXObject('Msxml2.XMLHTTP');
    		} catch(e) { }
    		try {
    			return new ActiveXObject('Microsoft.XMLHTTP');
    		} catch(e) { }
    	}
    	alert("XMLHttpRequest not supported!");
    }
    
    
    
    // GET-Anfrage
    
    // XMLHttpRequest erstellen, sodass es in jedem Browser funktioniert
    var request = createXMLHttpRequest();
    // Request-Typ und URL setzen
    request.open("GET", "/url/zur/php-datei.php", false);
    // Request senden (synchron)
    request.send();
    // Ergebnis auswerten
    if(request.status == 200) {
    	var doc = request.responseText;
    	if(doc.length != 0) {
    		window.alert('Text: ' + request.responseText);
    	}
    }
    
    
    
    // POST-Anfrage
    
    var request = createXMLHttpRequest();
    request.open("POST", "/url/zur/php-datei.php", false);
    request.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
    request.send("irgendwelche Daten, die per POST übertragen werden sollen");
    if(request.status == 200) {
    	var doc = request.responseText;
    	if(doc.length != 0) {
    		window.alert('Text: ' + request.responseText);
    	}
    }
  5. Autor dieses Themas

    kill-a-teddy

    Kostenloser Webspace von kill-a-teddy

    kill-a-teddy hat kostenlosen Webspace.

    hackyourlife schrieb:
    Das funktioniert auch über einen einfachen XMLHttpRequest:
    function createXMLHttpRequest() {
    	if(window.XMLHttpRequest) {
    		// code for IE7+, Firefox, Chrome, Opera, Safari
    		return new XMLHttpRequest();
    	} else {
    		// code for IE6, IE5
    		//return new ActiveXObject("Microsoft.XMLHTTP");
    		try {
    			return new ActiveXObject('Msxml2.XMLHTTP');
    		} catch(e) { }
    		try {
    			return new ActiveXObject('Microsoft.XMLHTTP');
    		} catch(e) { }
    	}
    	alert("XMLHttpRequest not supported!");
    }
    
    
    
    // GET-Anfrage
    
    // XMLHttpRequest erstellen, sodass es in jedem Browser funktioniert
    var request = createXMLHttpRequest();
    // Request-Typ und URL setzen
    request.open("GET", "/url/zur/php-datei.php", false);
    // Request senden (synchron)
    request.send();
    // Ergebnis auswerten
    if(request.status == 200) {
    	var doc = request.responseText;
    	if(doc.length != 0) {
    		window.alert('Text: ' + request.responseText);
    	}
    }
    
    
    
    // POST-Anfrage
    
    var request = createXMLHttpRequest();
    request.open("POST", "/url/zur/php-datei.php", false);
    request.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
    request.send("irgendwelche Daten, die per POST übertragen werden sollen");
    if(request.status == 200) {
    	var doc = request.responseText;
    	if(doc.length != 0) {
    		window.alert('Text: ' + request.responseText);
    	}
    }


    Danke soweit.. Wenn ich das jetzt richtig verstehe sende ich mittels request.send die Daten an die Datei, in der Datei kann ich sie dann in ein Array lesen und in einer while schleife ausgeben?
  6. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    kill-a-teddy schrieb:
    Wenn ich das jetzt richtig verstehe sende ich mittels request.send die Daten an die Datei, in der Datei kann ich sie dann in ein Array lesen und in einer while schleife ausgeben?
    Du legst bei
    request.open()
    fest ob du eine GET oder eine POST-Anfrage stellen möchtest. Bei GET kannst du natürlich keine Daten mitschicken, außer GET-Tags (indem du bei der URL ein ?name=wert anhängst).
    Bei POST musst du den Content-Typ festlegen. Die Daten die du dann verschickst (mit
    request.send(daten);
    ) werden genau so übertragen. Wenn du das Beispiel von mir nutzt:
    request.open("POST", "/url/zur/php-datei.php", false);
    request.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
    request.send("irgendwelche Daten, die per POST übertragen werden sollen");
    wird der Text genau so übertragen. Im PHP-Script greifst du in diesem Fall nicht über $_POST auf die Daten zu, sondern du bekommst diesen Text so:
    $daten = file_get_contents('php://input');

    Natürlich kannst du auch den Content-Typ
    application/x-www-form-urlencoded
    benutzen und die Daten dann nach dem Muster
    name=wert&anderer+name=weiterer+Wert
    übertragen auf die du mit $_POST zugreifen kannst. Die Daten dabei sind genau so aufgebaut wie in einer URL nach dem '?'


    Warum in ein Array lesen? Was meinst du mit der while-Schleife? Was möchtest du ausgeben?

    Beitrag zuletzt geändert: 20.2.2012 11:31:16 von hackyourlife
  7. Autor dieses Themas

    kill-a-teddy

    Kostenloser Webspace von kill-a-teddy

    kill-a-teddy hat kostenlosen Webspace.

    hackyourlife schrieb:
    Warum in ein Array lesen? Was meinst du mit der while-Schleife? Was möchtest du ausgeben?


    Die letzte Beschreibung hat schon gereicht, danke. :)


    Btw. Danke an euch beide ^^

    Kann geschlossen werden :thumb:
  8. ich würde mir das gut überlegen, bei jedem buchstaben einen request loszuschicken - das kann ganz schön performance kosten.
    überprüf das doch beim verlassen des feldes?
  9. asp-verein-freital

    asp-verein-freital hat kostenlosen Webspace.

    Ich denke mal, er möchte sowas bauen wie es Google bei seiner Sucheingabe benutzt. Also Vorschläge machen während man noch tippt.
  10. Autor dieses Themas

    kill-a-teddy

    Kostenloser Webspace von kill-a-teddy

    kill-a-teddy hat kostenlosen Webspace.

    Leute...

    Das Problem ist schon längst gelöst und die beiden Beiträge über mir einschließlich diesem Beitrag sind völlig überflüssig und eigentlich nur Spam...

    Schließt es endlich und löscht die drei Beiträge bitte!
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!