2012-04-02 10 views
-1

Ich erstelle eine Tooltip-Blase, die Benutzerprofilinformationen anzeigen soll, wenn der Cursor über dem Benutzernamen steht. Ich habe es mit hart codierten Text arbeiten, aber wenn ich versuche, den Tooltip mit dynamischen Daten mit AJAX-Anfrage zu füllen, gibt es nichts zurück.Abrufen von Daten aus der Datei mit AJAX

Die abzurufenden Daten befinden sich in der Datei process.cfm. Die Datei sieht wie folgt aus:

<div class="personPopupResult">Test text</div> 

Der Code, der die Datei nennt, ist wie folgt:

$.ajax({ 
    type: 'GET', 
    url: 'process.cfm', 
    data: '?id=' + currentID, 
    success: function(data) { 
     var text = $(data).find('.personPopupResult').html(); 
     $('#personPopupContent').html(text); 
    } 
}); 

Irgendwelche Ideen, warum dies nicht würde funktioniert sehr geschätzt.

Danke.

EDIT:

$.ajax({ 
      type: 'GET', 
      url: 'process.cfm?=id' + currentID, 

      success: function(data){ 

       $('#personPopupContent').html(data); 

       if ($(data).find('.personPopupResult').length) { 
        var text = $(data).find('.personPopupResult').html(); 
        $('#personPopupContent').html(text); 
       } 

      } 
     }); 

-Code arbeitet, zeigt aber alles in process.cfm Seite, nicht nur .personPopupResult div.

+0

Versuchen mit diesem 'var text = $ (Daten) .find ('personPopupResult.') Text();' – Poonam

+0

Try Insert alert (Text), nach var Text.. ... Versuchen Sie abzustimmen, wenn es hilfreich ist. – Alexandr

+0

Ich habe 'alert (text);' eingefügt, aber es wird nicht angezeigt. Warum sollte ich wollen, dass der Text angezeigt wird? Das aktuelle Problem ist, wie die Ausgabe auf nur eine Klasse beschränkt werden kann. – Eleeist

Antwort

1

Try this:

$.ajax({ 
    type: 'GET', 
    url: 'process.cfm?=id' + currentID, 

    success: function(data) { 
     //actually here you should better write following 
     //$('#personPopupContent').html(data); 
     // but if not works try this 
     if ($('#personPopupContent').length) 
     { 
      alert(' $(#personPopupContent) not found!'); 
     } 
     if ($(data).find('.personPopupResult').length) 
     { 
     var text = $(data).find('.personPopupResult').html(); 
     $('#personPopupContent').html(data); 
     } 
     else 
     { 
     $('#personPopupContent').html('Ups error here!'); 
     } 
    } 
}); 
+0

nicht funktioniert.. Sie übergeben das Argument "Daten" in die Funktion, aber Sie haben es nicht deklariert. Scheint nicht richtig zu mir. BTW, ich hätte zur Klarstellung erwähnt: die endgültige Anwendung wird ID verwenden, um Benutzerdaten abzurufen, aber im Moment möchte ich es nur mit Text arbeiten. – Eleeist

+0

Daten sollten nicht deklariert werden. Sein Standardwert. Ist data = '23' (gleiche Zahl)? – Alexandr

+0

Siehe meine Bearbeitung im ersten Post. Der Code funktioniert, zeigt aber alles in process.cfm an. – Eleeist

0

Drucken Sie jQuery Objekt mit:

console.log($('#personPopupContent')); 

Ist es innerhalb gezielt Element haben?

+1

wäre besser, wenn, dass ein Kommentar, anstatt eine Antwort war –

Verwandte Themen