Domanda

Qualcuno sa come impostare messa a punto di un'azione predefinita per quando una richiesta di ServerXMLHTTP volte fuori? Sto usando setTimeouts () per impostare il time out opzioni in base al MSDN sito .

Idealmente vorrei inizializzare la richiesta di nuovo dall'inizio o aggiornare la pagina dovrebbe timeout.

Sto usando ASP classico e JScript.

Ecco la mia richiesta:

function serverXmlHttp(url) {
    var serverXmlHttp;
    serverXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.6.0");

    // set time out options
    serverXmlHttp.setTimeouts(15000,15000,15000,15000);

    // does not work
    // serverXmlHttp.ontimeout(Response.Write("page has timed out"));

    serverXmlHttp.open("GET", url, false);
    serverXmlHttp.send();

    if (serverXmlHttp.readyState == 4) {
        return serverXmlHttp.responseText;
    }
}
È stato utile?

Soluzione 2

capito. Ho solo bisogno di utilizzare un'istruzione try / catch.

function serverXmlHttp(url) {

    try {
        var serverXmlHttp;
        serverXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.6.0");

        // set time out options
        serverXmlHttp.setTimeouts(15000,15000,15000,15000);

        serverXmlHttp.open("GET", url, false);
        serverXmlHttp.send();

        if (serverXmlHttp.readyState == 4) {
            return serverXmlHttp.responseText;
        }
    catch(error) {
        // whatever I want to happen if there's an error
        Response.Write("Sorry, your request has timed out");
    }

}

Altri suggerimenti

La cosa importante è quello di scoprire il motivo per cui è timeout ..

è l'URL a distanza sulla stessa applicazione come pagina chiama?

Se è così dare un'occhiata al INFORMAZIONI: Non inviare ServerXMLHTTP o WinHTTP richieste allo stesso server , come vi troverete di fronte filo fame ..

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top