2010-08-07 7 views
0

J'utilise XMLHTTPRequest pour simuler une interface RESTful. Après que l'objet de réponse renvoie des données de la demande, comment puis-je présenter cela à l'utilisateur? Par exemple, dans une requête PUT, le serveur répond réellement avec une page de données HTML complète (dans la plupart des cas), et je veux afficher cette page entière au client. Une idée comment? Je suis sûr qu'il y a une réponse là-bas, mais mon manque de connaissance de JS me fait courir dans un mur, probablement en raison de la mauvaise terminologie JS.Réponse XMLHTTPRequest présente au client?

Notez que je ne suis pas plus disposé à utiliser une suite JS moderne comme DOJO ou JQuery. En outre, je ne cherche pas vraiment un effet comme Ajax. En fait, une fois que quelques navigateurs supportent les bonnes méthodes de formulaire de spécifications HTML5 (GET/POST/PUT/DELETE), je jetterai ce hack JS pour cela.

Toute aide serait grandement appréciée!

Édition: Parler avec d'autres, deux idées ont été présentées. L'un consistait à utiliser un IFrame et à y insérer les données. L'autre était de rediriger vers "data:text/html,"+xhr.responseText, ce qui fonctionne, mais est moche pour l'utilisateur. :/.. je peux finir tout abandonner et de cacher les arguments de méthode dans le formulaire HTML (d'entrée cachée) et y faire face côté serveur parce que j'ai simplement voir encore une bonne façon d'utiliser JS pour implémenter un support côté client pour une interface RESTful.

+0

Avez-vous consulté le site http://api.jquery.com/jQuery.get/? – mplungjan

+0

N'est-ce pas fondamentalement la même chose qu'une Ajax XMLHTTPRequest? Je veux dire, je suis sûr qu'il fait la demande et peut tirer les données, mais XMLHTTPRequest le fait aussi. La question est, comment puis-je présenter cette page html complète au client? –

Répondre

0

Vous pouvez ouvrir un conteneur de pop-up et écrire toute votre réponse à ce conteneur ou vous pouvez ouvrir une nouvelle fenêtre en utilisant javascript et mettre toutes les données de réponse à cette fenêtre.

par exemple. :

function writeConsole(content) { 
    top.consoleRef=window.open('','myconsole', 
    'width=350,height=250' 
    +',menubar=0' 
    +',toolbar=1' 
    +',status=0' 
    +',scrollbars=1' 
    +',resizable=1') 
    top.consoleRef.document.writeln(
    '<html><head><title>Console</title></head>' 
    +'<body bgcolor=white onLoad="self.focus()">' 
    +content 
    +'</body></html>' ) 
    top.consoleRef.document.close() 
} 
+0

Eh bien, cela serait utilisé sur tous les sites, donc les popups ne semblent pas être la meilleure solution. Je pense que je préfère rediriger vers "" data: text/html, "+ xhr.responseText': o –

Questions connexes