Sys.Net.XMLHttpExecutor-Klasse
Aktualisiert: November 2007
Führt mithilfe der XMLHTTP-Unterstützung des Browsers asynchrone Netzwerkanforderungen aus.
Namespace:Sys.Net
Vererbung: keine
var executor = new Sys.Net.XMLHttpExecutor();
Member
Name |
Beschreibung |
---|---|
Initialisiert bei der Implementierung in einer abgeleiteten Klasse eine neue Instanz der Sys.Net.XMLHttpExecutor-Klasse. |
|
Beendet die anstehende vom Executor ausgegebene Netzwerkanforderung. |
|
Führt eine Netzwerkanforderung aus, wie in der zugehörigen WebRequest-Instanz angegeben. |
|
Gibt die Antwortheader zurück. |
|
Ruft den Wert eines angegebenen Antwortheaders ab. |
|
Gibt einen Wert zurück, der angibt, ob der Executor abgebrochen wurde. |
|
Gibt einen Wert zurück, der angibt, ob die Netzwerkanforderung ohne Abbruch oder Timeout einen Wert zurückgegeben hat. |
|
Ruft die Textdarstellung des Antworttexts ab. |
|
Gibt einen Wert zurück, der angibt, ob der Executor die Anforderung an das XMLHTTP-Objekt des Browsers weitergeleitet hat. |
|
Ruft den Statuscode des XMLHTTP-Objekts des Browsers ab. |
|
Ruft den Statustext des XMLHTTP-Objekts des Browsers ab. |
|
Gibt einen Wert zurück, der angibt, ob das Zeitlimit für den Executor überschritten wurde. |
|
Gibt ein XMLDOM-Objekt zurück, das die XML-Antwort vom XMLHTTP-Objekt des Browsers enthält. |
Hinweise
Die XmlHttpExecutor-Klasse fungiert als Standardexecutor und ist eine Implementierung der abstrakten WebRequestExecutor-Klasse.
Da der Standardexecutor bereits festgelegt wurde, müssen Sie keine Instanz der Klasse erstellen und der Webanforderung zuordnen. Wenn Sie einen benutzerdefinierten Executor festlegen, müssen Sie jedoch eine Instanz des Executors erstellen und als Standardexecutor der Webanforderung festlegen.
Nachdem der Netzwerkaufruf abgeschlossen ist, sollte das XmlHttpExecutor-Objekt nur zum Abrufen von Antwortdaten verwendet und anschließend verworfen werden.
Tipp
Weitere Informationen über das XMLHTTP -Objekt finden Sie unter About Native XMLHTTP.
Beispiel
Im folgenden Beispiel wird gezeigt, wie die Methoden und Eigenschaften der XmlHttpExecutor-Klasse verwendet werden. Im Beispiel werden eine Webseite und das Clientskript veranschaulicht, das mit der XmlHttpExecutor-Klasse interagiert.
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);
}
Siehe auch
Referenz
Sys.Net.WebRequestExecutor-Klasse