2009-06-24 5 views
1

Ceci est un exemple de code du site prototype.Requête Ajax avec prototype - Qu'est-ce que le transport si ce n'est pas seulement responseText?

var url = '/proxy?url=' + encodeURIComponent('http://www.google.com/search?q=Prototype'); 
// notice the use of a proxy to circumvent the Same Origin Policy. 

new Ajax.Request(url, { 
    method: 'get', 
    onSuccess: function(transport) { 
    var notice = $('notice'); 
    if (transport.responseText.match(/href="http:\/\/prototypejs.org/)) 
     notice.update('Yeah! You are in the Top 10!').setStyle({ background: '#dfd' }); 
    else 
     notice.update('Damn! You are beyond #10...').setStyle({ background: '#fdd' }); 
    } 
}); 

Les données qui vient de la demande de paiement ajax est disponible à transport.responseText, mais ce qui est le transport si non seulement responseText?

Répondre

2

En fait, c'est un objet Ajax.Response. La page liée répertorie toutes les autres propriétés. C'est un wrapper autour de l'objet XMLHttpRequest réel.

+0

Vous avez raison, c'est un wrapper simple avec des noms de méthodes légèrement plus conviviaux comme getHeader au lieu de getResponseHeader. – karim79

+0

Ce ne sont pas seulement des noms plus conviviaux. Il ajoute les éléments JSON et a un comportement différent lorsqu'il n'y a pas d'en-tête. –

Questions connexes