Share via


Sys.Net.XMLHttpExecutor, classe

Mise à jour : novembre 2007

Effectue des requêtes de réseau asynchrones à l'aide du support XMLHTTP du navigateur.

Espace de noms :Sys.Net

Hérite de : Aucun

var executor = new Sys.Net.XMLHttpExecutor();

Membres

Nom

Description

Sys.Net.XMLHttpExecutor, constructeur

Initialise une nouvelle instance de la classe Sys.Net.XMLHttpExecutor en cas d'implémentation dans une classe dérivée.

abort, méthode de Sys.Net.XmlHttpExecutor

Arrête la requête réseau en attente publiée par l'exécuteur.

executeRequest, méthode de Sys.Net.XmlHttpExecutor

Exécute une requête réseau comme spécifié dans l'instance WebRequest associée.

Sys.Net.XmlHttpExecutor.getAllResponseHeaders, méthode

Retourne les en-têtes de réponse.

Sys.Net.WebRequestExecutor.getResponseHeader, méthode

Sys.Net.XmlHttpExecutor.getResponseHeader, méthode

Obtient la valeur d'un en-tête de réponse spécifié.

aborted, propriété de Sys.Net.XmlHttpExecutor

Retourne une valeur qui indique si l'exécuteur a été interrompu.

responseAvailable, propriété de Sys.Net.XmlHttpExecutor

Retourne une valeur qui indique si la requête réseau a été retournée sans être abandonnée ni avoir expiré.

responseData, propriété de Sys.Net.XmlHttpExecutor

Obtient la représentation textuelle du corps de la réponse.

started, propriété de Sys.Net.XmlHttpExecutor

Retourne une valeur qui indique si l'exécuteur a transmis la requête à l'objet XMLHTTP du navigateur.

statusCode, propriété de Sys.Net.XmlHttpExecutor

Obtient le code d'état de l'objet XMLHTTP du navigateur.

statusText, propriété de Sys.Net.XmlHttpExecutor

Obtient le texte d'état de l'objet XMLHTTP du navigateur.

timedOut, propriété de Sys.Net.XmlHttpExecutor

Retourne une valeur qui indique si l'exécuteur a expiré.

xml, propriété de Sys.Net.XmlHttpExecutor

Retourne un objet XMLDOM qui contient la réponse XML de l'objet XMLHTTP du navigateur.

Notes

La classe XmlHttpExecutor se comporte comme l'exécuteur par défaut et est une implémentation de la classe abstraite WebRequestExecutor.

L'exécuteur par défaut étant déjà défini, vous n'avez pas à créer d'instance de la classe ni à l'associer à la requête Web. Toutefois, si vous définissez un exécuteur personnalisé, vous devez créer une instance de ce dernier et la définir comme exécuteur par défaut de la requête Web.

Après l'appel de réseau, l'objet XmlHttpExecutor doit être utilisé uniquement pour obtenir des données de réponse, après quoi, il doit être ignoré.

Remarque :

Pour plus d'informations sur l'objet XMLHTTP, consultez About Native XMLHTTP.

Exemple

L'exemple suivant montre comment utiliser les méthodes et les propriétés de la classe XmlHttpExecutor. L'exemple affiche une page Web et le script client qui interagit avec la classe XmlHttpExecutor.

var resultElementId;

function pageLoad()
{
    resultElementId = $get("ResultId");
}

// This function aborts a Web request.
function AbortWebRequest()
{
    // Create the WebRequest object.
    wRequest =  new Sys.Net.WebRequest();

    // Set the request Url.  
    wRequest.set_url("getTarget.htm");

   // Clear the results area.
    resultElementId.innerHTML = "";

    // Set the Completed event handler, 
    // for processing return data
    wRequest.add_completed(OnCompleted);

    // Make the request.
    wRequest.invoke();

    // Get the current executor.
    var executor = wRequest.get_executor();


    // Abort the request.
    executor.abort();

    // Check if the executor is aborted.
    var execAborted = 
        executor.get_aborted();

    alert("Executor aborted: " + execAborted);
}

// This function executes a Web request.
function ExecuteWebRequest()
{
    // Create the WebRequest object.
    wRequest =  new Sys.Net.WebRequest();

    // Set the request Url.  
    wRequest.set_url("getTarget.htm");


    // Set the Completed event handler, for processing return data
    wRequest.add_completed(OnCompleted);

      // Clear the results area.
    resultElementId.innerHTML = "";

    // To use executeRequest you must instantiate the
    // executor, assign it to the Web request instance,
    // then call the executeRequest function.
    // Note: Normally to make a Web request you use
    // the invoke method of the WebRequest instance.
    var executor = new Sys.Net.XMLHttpExecutor();
    wRequest.set_executor(executor); 
    executor.executeRequest();

    var started = executor.get_started();

    alert("Executor started: " + started);
}



// This is the event handler called after 
// the Web request returns.
function OnCompleted(executor, eventArgs) 
{
    if(executor.get_responseAvailable()) 
    {

        // Get the Web request instance.
        var webReq = executor.get_webRequest();
        // Display request Url.
        alert(webReq.get_url());

       // Clear the previous results. 
       resultElementId.innerHTML = "";

       // Display the Web request status. 
       resultElementId.innerHTML +=
          "Request Status: [" + executor.get_statusCode() + " " + 
                    executor.get_statusText() + "]" + "<br/>";

        // Display the Web request headers.
        resultElementId.innerHTML += "Headers: <br/>";


        // Get all the headers.    
        resultElementId.innerHTML += 
        "All Request Headers: " +
            executor.getAllResponseHeaders() + "<br/>"; 

        // Get a specific header.
        resultElementId.innerHTML += 
        "Content-Type Header: " +
            executor.getResponseHeader("Content-Type") + 
            "<br/>";       

        // Display Web request body.
        resultElementId.innerHTML += "Body: <br/>";
        resultElementId.innerText += 
            executor.get_responseData();


    }
    else
    {
        if (executor.get_timedOut())
            alert("Timed Out");
        else
            if (executor.get_aborted())
                alert("Aborted");
    }

}

// This is the event handler called after 
// the Web request returns. It is designed
// for Web requests that return XML.
function OnSucceededXml(executor, eventArgs) 
{
    if (executor.get_responseAvailable()) 
    {
        // Display XML.
       if (document.all)
            resultElementId.innerText += executor.get_xml().xml;
        else
            // Firefox 
            resultElementId.textContent += "First node: " + 
                executor.get_xml().documentElement.nodeName;

    }
    else
    {
        if (executor.get_timedOut())
            alert("Timed Out");
        else
            if (executor.get_aborted())
                alert("Aborted");
    }
} 

// This function executes a Web request
// to get XML data.
function GetXml()
{
    // Create the WebRequest object.
    wRequest =  new Sys.Net.WebRequest();

    // Set the request Url.  
    wRequest.set_url("getTarget.xml");

     // Set the Completed event handler 
    // for processing return data.
    wRequest.add_completed(OnSucceededXml);

    // Clear the results area.
    resultElementId.innerText = "";

    // Invoke the Web request.
    wRequest.invoke();
}


// This function aborts a Web request.
function AbortWebRequest()
{
    // Create the WebRequest object.
    wRequest =  new Sys.Net.WebRequest();

    // Set the request Url.  
    wRequest.set_url("getTarget.htm");

   // Clear the results area.
    resultElementId.innerHTML = "";

    // Set the Completed event handler, 
    // for processing return data
    wRequest.add_completed(OnCompleted);

    // Make the request.
    wRequest.invoke();

    // Get the current executor.
    var executor = wRequest.get_executor();


    // Abort the request.
    executor.abort();

    // Check if the executor is aborted.
    var execAborted = 
        executor.get_aborted();

    alert("Executor aborted: " + execAborted);
}

Voir aussi

Référence

Sys.Net.WebRequestExecutor, classe

Sys.Net.WebRequestManager, classe

Sys.Net.WebRequest, classe