134 messaggi dal 31 ottobre 2003
Ciao a tutti,
sto usando jQuery per fare delle chiamate ajax ad un HttpHandler generico. Ho la necessità di controllare quando a fronte di una chiamata, il ticket di autenticazione è scaduto. Ho notato che in questo caso nella chiamata $.ajax( ... si scatena l'evento success, anche se effettivamente l'handler non viene eseguito, e l'unico modo di capirlo è che la risposta che ottengo non contiene nessuna stringa da me composta nell'handler stesso alla fine dell'esecuzione per avvisare il client, però non mi sembra una soluzione elegante, c'è qualche altro modo ?

Grazie

Jk
35 messaggi dal 31 marzo 2010
Ciao, trovandomi nella tua stessa condizione ho risolto in questo modo: mi sono definito dentro la proprietà "statusCode" dell' ajaxSetup il mapping del codice 401 con un funzione che mi manda alla mia pagina di login.
Io utilizzo jquery per invocare alcuni pagemethod presenti all'interno di pagine aspx.

        $.ajaxSetup({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            timeout: 30000,
            async: true,
            cache: false,
            statusCode: {
                401: function () {
                   window.location = "../Error.aspx";
                }
            }
        });


Le tue chiamate eggettuate con $.ajax - $.post - $.get erediteranno le impostazioni che hai definito sopra...spero ti possa essere di aiuto...
134 messaggi dal 31 ottobre 2003
sonnicolo ha scritto:
Ciao, trovandomi nella tua stessa condizione ho risolto in questo modo: mi sono definito dentro la proprietà "statusCode" dell' ajaxSetup il mapping del codice 401 con un funzione che mi manda alla mia pagina di login.
Io utilizzo jquery per invocare alcuni pagemethod presenti all'interno di pagine aspx.

        $.ajaxSetup({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            timeout: 30000,
            async: true,
            cache: false,
            statusCode: {
                401: function () {
                   window.location = "../Error.aspx";
                }
            }
        });


Le tue chiamate eggettuate con $.ajax - $.post - $.get erediteranno le impostazioni che hai definito sopra...spero ti possa essere di aiuto...


Ho provato ma non mi funziona, io sto utilizzando la form authentication, mi si genera sempre l'evento success definito in

$.ajax(

che non sia lo statuscode 401 ?

JK
134 messaggi dal 31 ottobre 2003
la cosa strana è che ho provato a mappare l'errore 404 indicando il nome dell'handler sbagliato, ma non mi si scatena nemmeno in questo caso, mentre mi viene catturato nell'evento error di
$.ajax(
{
error: function (jqXHR, textStatus, errorThrown)
{
alert(textStatus);
},

Jk
35 messaggi dal 31 marzo 2010
Ciao, anch'io uso la form authentication e anche a me prima di mappare nell' ajaxSetup il codice di errore la chiamata ajax scatenava anche a me il success...

Dopo il mapping invece ho visto che alla scadenza del ticket scatta la funzione definita dentro l'error 401 dello status code.

Hai provato ad utilizzare "fiddler" per vedere cosa ti ritorna il servizio quando fai una chiamata a ticket scaduto?
134 messaggi dal 31 ottobre 2003
sonnicolo ha scritto:
Ciao, anch'io uso la form authentication e anche a me prima di mappare nell' ajaxSetup il codice di errore la chiamata ajax scatenava anche a me il success...

Dopo il mapping invece ho visto che alla scadenza del ticket scatta la funzione definita dentro l'error 401 dello status code.

Hai provato ad utilizzare "fiddler" per vedere cosa ti ritorna il servizio quando fai una chiamata a ticket scaduto?


ho usato Firebug, allora con il ticket scaduto mi ritorna il codice 302, se indico un percorso sbagliato dell'handler, naturalmente mi ritorna il 404, ma in questo caso si scatena l'evento error, e il valore status della funzione error stessa in effetti mi dice 404, ma non ho capito perchè non viene catturato dalla mappatura degli StatusCode così come mi hai indicato tu e che ho visto fare anche in un tutorial video su youtube :)

Jk

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.