parse.com使用javascript SDK更新用户电子邮件问题

时间:2015-12-07 21:18:30

标签: javascript cordova email parse-platform

当我尝试使用parse.com上的javascript SDK更新用户电子邮件时遇到此问题

  • 当电子邮件可用时,一切正常。
  • 当电子邮件不可用时,我收到正常错误。然后,我将电子邮件地址更改为可用的另一个电子邮件地址,并再次保存用户数据。这里,问题是PARSE再次返回错误203(收到电子邮件)。如果我按下按钮再次保存,它就可以了!没有改变什么!

可能是缓存问题,我在这个小问题上一直在浪费时间。请你能帮帮我吗?

以下是代码:



// Button
$("#perfil_guardar_btn").on( "vclick", function( event ) {
  actualizar_perfil();
});

// Function to save new user data
function actualizar_perfil() {
    show_loading();
    var new_nombre = $('#edit_nombre').val();
    var new_apellido = $('#edit_apellido').val();
    var new_correo = $('#edit_email').val();
    var new_telefono = $('#edit_telefono').val();
    var new_nacimiento = $('#edit_nacimiento').val();
    var new_genero = $('#edit_genero').val();
    var new_notificaciones = $('#edit_notificaciones').val();

    var emailfilter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (emailfilter.test(new_correo) && new_nombre.length >=3 && new_apellido.length >=3 && new_telefono.length >=7) {
        currentUser.fetch().then(
            function(fetchedUser){
                // objeto de usuario
                var fetchUser = null;
                fetchUser = fetchedUser;
                alert(fetchUser.get("email"));
                // Poner nuevos datos
                fetchUser.set("nombre", new_nombre);
                fetchUser.set("apellido", new_apellido);
                fetchUser.set("email", new_correo);
                alert(fetchUser.get("email"));
                fetchUser.set("telefono", new_telefono);
                if(new_nacimiento != ""){
                    var new_nacimiento_formatted = new Date(new_nacimiento);
                    fetchUser.set("nacimiento", new_nacimiento_formatted);
                }
                if(new_genero != "No"){
                    fetchUser.set("genero", new_genero);
                }
                if(new_notificaciones == "no"){
                    fetchUser.set("notificaciones", false);
                }
                else if(new_notificaciones == "si"){
                    fetchUser.set("notificaciones", true);
                }

                // Save the user.
                fetchUser.save(null, {
                    success: function(anotherUser) {
                        refreshUser();
                        navigator.notification.alert(
                            'Tus datos han sido actualizados.',
                            alertDismissed,
                            'Correcto',
                            'OK'
                        );
                    },
                    error: function(gameScore, error) {
                        switch(error.code){
                            case 202:
                                navigator.notification.alert(
                                    'Este usuario ya está registrado en DORA',
                                    alertDismissed,
                                    'Error',
                                    'OK'
                                );
                                break;
                            case 203:
                                navigator.notification.alert(
                                    'Revisa tus datos y vuelve a intentarlo. Es posible que este correo ya esté en uso.',
                                    alertDismissed,
                                    'Error',
                                    'OK'
                                );
                                break;
                            default:
                                navigator.notification.alert(
                                    'Hubo un error en el registro. Intenta de nuevo',
                                    alertDismissed,
                                    'Error',
                                    'OK'
                                );
                                break;
                        }
                    }
                });
            }, 
            function(error){
                // Error
                navigator.notification.alert(
                    'Ha ocurrido un error inesperado. Vuelve a intentarlo',
                    alertDismissed,
                    'Error',
                    'OK'
                );
            }
        );
    }
    else {
        navigator.notification.alert(
            'Por favor completa los datos. Nombre, apellido, correo y teléfono son obligatorios.',
            alertDismissed,
            'Error',
            'OK'
        );
    }
}




0 个答案:

没有答案