crusy.net

  • home.
  • photos.
  • about.

 

29
Apr

XMLHttpRequest.responseText mit XML *und* Javascript [UPDATE]

By crusy|Coding, Javascript|Be the first to comment!

ajax

“Normalerweise” besteht so ein responseText aus einem XML-Fragment. Das baut man dann dynamisch in seine Seite und gut ist. Javascript wird dabei nicht mehr ausgeführt.

Ein Trick zum dynamischen Abrufen (und Ausführen) von JS besteht darin, dass der responseText an eval() übergeben und so ausgeführt wird… dazu muss der responseText aber natürlich reines JS sein.

Wenn man nun aber beides will, so erzeuge man einen responseText a la

<script type=”text/javascript” id=”theScript”>
alert( ‘yeah’ );
</script>
<div id=”theContent”>…</div>

und voila (hier am Beispiel von ExtJS):

var ajaxRequest = Ext.Ajax.request
({
url: ‘index.php?fooBar,
params: {},
disableCaching: false,
success: onResponseDoMe,
failure: function(){}
});

hier nun der Zauber:

function onResponseDoMe( xhr )
{
var newContent = xhr.responseText;
Ext.get(‘targetDiv’).update(newContent);
eval( Ext.get(‘theScript’).dom.innerHTML );
}

Der Trick ist also einfach: Packe das JS in einen <script>-Knoten, und gebe diesem eine ID, um darauf zugreifen zu können :-)

NACHTRAG: In ExtJS kann man natürlich auch einfach den Parameter loadScripts von Ext.Element.update() nutzen :-D

Tagged as: Ajax, Extjs, HTTPRequest, Javascript, Voodoo
Add your comment →

0 Comments

Leave your comment below! Cancel Reply

View More Posts:
  • ←
  • →

Suche:

Schubladen:

  • Apropos (55)
  • Computer (211)
    • Arduino (4)
    • Coding (157)
      • CSS (5)
      • Flash (87)
      • Java (2)
      • Javascript (17)
      • PHP (5)
    • Firefox (18)
    • OS X (18)
  • Lustig (86)
  • Musik (50)
  • Photo (30)
    • Photoshop (16)
  • Video (57)
  • Web (94)
  • Werbung (28)

@crusy:

Die HARIBO Goldbären werden dieses Jahr 90. Now you know.
2 hours ago from Twitter for Windows Phone
RT @DylanDogger: Paradox: Menschen, die über sich lachen können, nehme ich ernst.
2 hours ago from web
RT @Afelia: RT @fagri Dann gehen wir morgen halt "vorerst" gegen ACTA demonstrieren. #stopacta
2 hours ago from TweetDeck
Die Sonne scheint mir in's Gesicht. Das soll sie nicht.
2 days ago from web
optisch mittig my ass.
2 days ago from web

Kommentare:

  • crusy on Van Gogh meets Monkey Island (und mehr!)
  • Stefan Heller on Van Gogh meets Monkey Island (und mehr!)
  • crusy on Arduino mit Eclipse als IDE
  • michael on Arduino mit Eclipse als IDE
  • crusy on AIR Native Extension für Arduino

Tags:

Actionscript Actionscript 3 Addon Adobe AIR Apple AS AS3 Coding Comment Cover CSS Eclipse Facebook FDT Fehlermeldung Film Firefox Flash Flex Font Google Internet iOS iPad iPhone Javascript Kommentar Kunst Mac music Musik Obama OS X OSX Photoshop PHP Plugin Star Wars Video Web Werbung Wordpress XML Youtube

Projekte

  • Bent Larsen
    DAS Film Noir Point-and-Click-Adventure
  • crusy goes sf
    Photoblog aus San Francisco
  • Insignia
    Aufbau. Handel. Herrschaft.
  • nerdeln.de
    Nörgeln für Nerds
  • Photos
    Mein Photoblog
  • Tourtagebuch
    Von sechs Menschen, einer Stadt und keiner Wohnung

Powered by the inLine Minimal WordPress Theme