Estoy teniendo un problema con el registro en mi sitio web. He mirado la documentación sobre el análisis sitio web, pero realmente no aportan mucho detalle sobre cómo cerrar la sesión del usuario, también no ayuda cuando no estoy competente con JavaScript.

Cuando hago clic en mi botón cerrar sesión, sólo se actualiza la página y nada más, pero me gustaría llevarlo de vuelta a la pantalla de inicio de sesión.

Mi actual archivo de secuencia de comandos que he escrito se muestra a continuación (por obvias razones me han quitado mis analizar identificadores únicos):

 $(function() {

    Parse.$ = jQuery;
Parse.initialize("MY CODE HERE", "MY CODE HERE");

    $('.form-logout').on('submit', function(e) {

    //Prevent Default Submit Event
    e.preventDefault();

    //logout current user
    var currentUser = Parse.User.current();
        if (currentUser) {
            Parse.User.logout();
            window.location="Sign_In.html";
        } else {
            window.location="Sign_In.html";
        }

    });

});

La sección donde puedo crear el botón que se encuentra aquí, en mi archivo html:

<form class="form-logout" role="form">
   <input type="submit" value="Logout" id="logout" class="btn btn-primary btn-lg">
</form>
  • Tal vez el nombre del método es logOut()(Ctrl+f «cierre de sesión») en lugar de logout() ?
  • hola gracias por la respuesta, sin embargo, me hizo cambiar, pero aún no hay suerte sólo actualiza la página con un «?» al final de mi enlace.
InformationsquelleAutor hero8110 | 2015-04-29

2 Comentarios

  1. 2

    Agregar

    <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="http://www.parsecdn.com/js/parse-1.4.2.min.js"></script>

    a su página.
    A continuación, utilizar esta secuencia de comandos:

    jQuery(document).ready(function() {
    
        Parse.$ = jQuery;
        Parse.initialize("...", "...");
    
        $('.form-logout').on('submit', function (e) {
            //Prevent Default Submit Event
            e.preventDefault();
    
            console.log("Performing submit");
    
            //logout current user
            if ( Parse.User.current() ) {
                Parse.User.logOut();
    
                //check if really logged out
                if (Parse.User.current())
                    console.log("Failed to log out!");
            }
    
            //do redirect
            //window.location.replace("Sign_In.html");
            //or
            window.location.href = "/Sign_In.html";
        });
    });
    • Hola gracias por tu respuesta, im todavía no hay suerte, incluso después de los cambios realizados. Sólo se mantiene la actualización de la página, ¿hay algún tipo de registro de error me pueden enviar y buscar más información?
    • Lo más probable actualización de la página en «enviar» significa que no hay controlador de evento estaba destinado a la enviar evento y es sólo la realización de la acción por defecto. Supongo que te perdiste algunos de los soportes o algo por el estilo. Publicar el código que tenemos ahora y vamos a tener otra oportunidad.
    • codepen.io/anon/pen/rVVxxd, por lo tanto estos son los cambios que he hecho
    • Ok, se ve bien. El único problema es que con este código de ejemplo Parse.User.current() volverá null y redirigir de no ser ejecutado. He actualizado el código de modo que se redirige de manera incondicional.
    • que código tiene u editado, es el codepen o su post original porque probé tu código de nuevo desde el post original y yo todavía no sé qué hay de malo, todavía refresca onlick cada vez en el botón log out
    • El código de la respuesta. Ver window.location.replace("Sign_In.html"); está ahora fuera de la if ( Parse.User.current() ) {...} bloque. Asegúrese de que usted tiene Sign_In.html y comprobar que el navegador de la Consola de errores después de hacer el submit.
    • Im que consigue este error en la consola cada vez que haga clic en el botón log out, i.gyazo.com/57c167e3aa4e520b45e9f2a24727ccfd.png. Im no seguro de lo que eso significa, porque no estoy usando jquery?
    • Esto significa que usted no incluir jQuery en tu página. Agregar algo como esto en tu <header>: <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>. Este debe preceder a la inclusión de bootstrap js.
    • Hola realmente aprecio toda la ayuda que me han dado, pero el botón log out no parecen querer trabajar. codepen.io/anon/pen/rVVxxd he añadido el jquery pero no ha habido suerte. Que aparezca otro mensaje diciendo «Uncaught ReferenceError: Analizar no está definido» pero me da que con el registro en el sistema, que funciona perfectamente bien, así que no estoy seguro de cuál es incorrecto con él
    • Permítanos continuar esta discusión en el chat.

  2. 0

    Usted puede ejecutar una costumbre función de devolución de llamada en el logout() del objeto.

    Que es la primera vez envolver su logout() función dentro de una función anónima, una sintaxis como:

    function(){logout()}

    Auto ejecutarlo:

    (function(){
    logout()
    })()

    y pasar su retorno como parámetro!

    (function(aFunctionIsToBePassedHere){
    logout()
    })(myCallbackFunction())

    Todo esto se convierte en:

      function logout() {
        (function(myCallbackGoesHereAsVariable) {
          Parse.User.logOut();
        })(myFunctionToShowTheLoginScreen())
    
      }

    y, a continuación, enlazar la logout() función de su forma.

Dejar respuesta

Please enter your comment!
Please enter your name here