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

Sys.Net.XMLHttpExecutor-Konstruktor

Initialisiert bei der Implementierung in einer abgeleiteten Klasse eine neue Instanz der Sys.Net.XMLHttpExecutor-Klasse.

Sys.Net.XmlHttpExecutor abort-Methode

Beendet die anstehende vom Executor ausgegebene Netzwerkanforderung.

Sys.Net.XmlHttpExecutor executeRequest-Methode

Führt eine Netzwerkanforderung aus, wie in der zugehörigen WebRequest-Instanz angegeben.

Sys.Net.XmlHttpExecutor.getAllResponseHeaders-Methode

Gibt die Antwortheader zurück.

Sys.Net.WebRequestExecutor.getResponseHeader-Methode

Sys.Net.XmlHttpExecutor.getResponseHeader-Methode

Ruft den Wert eines angegebenen Antwortheaders ab.

Sys.Net.XmlHttpExecutor aborted-Eigenschaft

Gibt einen Wert zurück, der angibt, ob der Executor abgebrochen wurde.

Sys.Net.XmlHttpExecutor responseAvailable-Eigenschaft

Gibt einen Wert zurück, der angibt, ob die Netzwerkanforderung ohne Abbruch oder Timeout einen Wert zurückgegeben hat.

Sys.Net.XmlHttpExecutor responseData-Eigenschaft

Ruft die Textdarstellung des Antworttexts ab.

Sys.Net.XmlHttpExecutor started-Eigenschaft

Gibt einen Wert zurück, der angibt, ob der Executor die Anforderung an das XMLHTTP-Objekt des Browsers weitergeleitet hat.

Sys.Net.XmlHttpExecutor statusCode-Eigenschaft

Ruft den Statuscode des XMLHTTP-Objekts des Browsers ab.

Sys.Net.XmlHttpExecutor statusText-Eigenschaft

Ruft den Statustext des XMLHTTP-Objekts des Browsers ab.

Sys.Net.XmlHttpExecutor timedOut-Eigenschaft

Gibt einen Wert zurück, der angibt, ob das Zeitlimit für den Executor überschritten wurde.

Sys.Net.XmlHttpExecutor xml-Eigenschaft

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

Sys.Net.WebRequestManager-Klasse

Sys.Net.WebRequest-Klasse