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 |
---|---|
Initialise une nouvelle instance de la classe Sys.Net.XMLHttpExecutor en cas d'implémentation dans une classe dérivée. |
|
Arrête la requête réseau en attente publiée par l'exécuteur. |
|
Exécute une requête réseau comme spécifié dans l'instance WebRequest associée. |
|
Retourne les en-têtes de réponse. |
|
Obtient la valeur d'un en-tête de réponse spécifié. |
|
Retourne une valeur qui indique si l'exécuteur a été interrompu. |
|
Retourne une valeur qui indique si la requête réseau a été retournée sans être abandonnée ni avoir expiré. |
|
Obtient la représentation textuelle du corps de la réponse. |
|
Retourne une valeur qui indique si l'exécuteur a transmis la requête à l'objet XMLHTTP du navigateur. |
|
Obtient le code d'état de l'objet XMLHTTP du navigateur. |
|
Obtient le texte d'état de l'objet XMLHTTP du navigateur. |
|
Retourne une valeur qui indique si l'exécuteur a expiré. |
|
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