entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

confirmación de correo, no funciona el objeto data?

primera vez por aqui, aun no entiendo el formato de preguntas y donde formularla y colocar el codigo. Necesito capturar los parametros de un url y pasarlos por ajax al webservices, llevo rato pegado, escucho ideas! gracias.

//www.algo.com/[email protected]&valid=SHmVUdjBSDiE9wjMrBwdLLE4=

window.onload = function () {
    var url = location.search.replace("?", "");
    var arrUrl = url.split("&");
    var urlObj = {};
    for (var i = 0; i < arrUrl.length; i++) {
        var x = arrUrl[i].split("=");
        urlObj[x[0]] = x[1]
    };

    $.ajax({
        type: "POST",
        url: pathname + "/services/sendRegister.asmx/VerifyUsers",
        data: urlObj,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (urlObj) {
            debugger;
            alert(urlObj.d)
        },
        error: function (xmlHttpRequest, textStatus, errorThrown) {
            console.log(xmlHttpRequest.responseText);
            console.log(textStatus);
            console.log(errorThrown);
        }
    });
}

0voto

bl4z3r comentado

¿Verificaste si estas construyendo correctamente el objeto urlObj?

2 Respuestas

1voto

jorcado Puntos350

Me funciono con este codigo:

//http://localhost:71045/[email protected]&valid=d2d0ffee049635dcc1f8452e2a07

query_to_hash = function () {        
    var j, q;
    q = location.search.replace(/\?/, "").split("&");
    j = {};
    $.each(q, function (i, arr) {
        arr = arr.split('=');
        return j[arr[0]] = arr[1];
    });
    return j;
}

window.onload = function () {
    var loc = document.location.href;
    if (loc.indexOf('?') > 0) {
        var queryStringToHash = query_to_hash();
        var queryHash = JSON.stringify(query_to_hash(queryStringToHash));
        queryHash = queryHash.replace( '%40', '@');
        $.ajax({
            type: "POST",
            url: '/WebX/services/sendRegister.asmx/VerifyUsers',
            data: queryHash,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                debugger;
                //alert(data.d)
                if (data.d == 'actualizo')
                {
                    var dynamicDialog = $('<div id="MyDialog">' +
                    '<p>Your account has now been validated succesfully.</p>' +
                    '</div>');
                    dynamicDialog.dialog({
                        title: "Update completed",
                        modal: true,
                        buttons: {
                            Ok: function () {
                                $(this).dialog("close");
                            }
                        }
                    });
                }
                else {
                    var dynamicDialog = $("<div id='MyDialog'>" +
                    "<p>Oops! We're sorry, but your account could not be validated succesfully. Please, email us to solve your problem.</p>" +
                    "</div>");
                    dynamicDialog.dialog({
                        title: "Registration invalid",
                        modal: true,
                        buttons: {
                            Ok: function () {
                                $(this).dialog("close");
                            }
                        }
                    });
                }
            },
            error: function (xmlHttpRequest, textStatus, errorThrown) {
                console.log(xmlHttpRequest.responseText);
                console.log(textStatus);
                console.log(errorThrown);
            }
        });
    }
};

4votos

carlossevi Puntos63540

Bienvenido @jorcado, espero que encuentres muchas respuestas =) Vayamos con la mía: En la primera parte de la función tienes algunos errores:

// 1. El search no tiene parámetros, tienes que buscar algo
// var url = location.search.replace("?", "");
// Lo reemplazo por:
var url = location.substring(location.indexOf("?")+1);
// Eso busca la primera vez que aparece el "?" y se queda
// con la parte interesante de la URL.
var arrUrl = url.split("&");

// Quieres guardarlo en un array o en un objeto?
// (a veces utilizas "[]" y otras "{}"), dejo "[]"
var urlObj = [];
for (var i = 0; i < arrUrl.length; i++) {
    // 2. El split no te sirve porque eliminarás otras apariciones de "="
    var equalPos = arrUrl[i].indexOf("=");
    var key = arrUrl[i].substring(0,equalPos);
    var value = arrUrl[i].substring(equalPos+1);
    urlObj[key] = value;
};

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta