"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

jQuery POST

-=Willi=- 05.03.2010 - 13:14 1136 2
Posts

-=Willi=-

The Emperor protects
Avatar
Registered: Aug 2003
Location: ~
Posts: 1624
Ich habe eine Datei 'index.htm' und eine Datei 'ajax.php'.
Die Aufgabe von ajax.php ist es, eine POST-Variable in ein paar Tags zu verpacken und dann auszugeben.
Das jQuery-Script schickt also nun "bla=Test" an das PHP-Script.
Hier das Script:

Code:
$(document).ready(function(){
	$("a.getdata").click(function(){
		$.post("ajax.php",{
		  bla:"Test"
		}, function(data){
		  alert("data von ajax.php: "+data);
		  var n = $(".cap",data).html();
		  alert("\$(\".cap\",data).html(): "+n);
		});
	}, "html");
    });

data liefert noch exakt das, was ich erwarte (nämlich '<div class="cap"><h1>Test</h1></div>'). Jedoch kommt bei n nur noch null raus, obwohl ich gesehen hab, dass diese Selector-Struktur oft verwendet wird. Was mach ich da falsch?

Hier noch der Code von ajax.php
Code: PHP
<?php
if(isset($_POST['bla']))
{
	echo("<div class=\"cap\"><h1>".$_POST['bla']."</h1></div>\n");
} else
{
	echo("<div class=\"cap\"><h1></h1></div>\n");
}
?>
Bearbeitet von -=Willi=- am 09.03.2010, 22:08

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Mir ist so ein Kontext-Selektor noch nicht untergekommen, ich weiß also nicht ob das nur ein Äquivalent zu $().find() ist. Wenn ja, dann funktioniert das nicht, weil data nur ein String und kein echtes Element im DOM ist.

$(data).filter('div.cap') oder $(data).filter('.cap') sollte aber hinhauen.

-=Willi=-

The Emperor protects
Avatar
Registered: Aug 2003
Location: ~
Posts: 1624
Aha, gut zu wissen.
Dankeschön :).
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz