Necesito enviar dos objetos a un web service para que me responda en swift

publicado por: Anonymous

Estoy realizando una aplicación en swift 3 xcode 8 y me dicen que para que yo pueda acceder al web service necesito enviar dos objetos, me manda el siguiente ejemplo en ajax, ¿cómo lo puedo hacer con xcode 8?

$("#cargar").click(function() {

    /*datosRegistro = {
        'user'      :   $("#user").val(),
        'pass'      :   $("#pass").val()
    };*/

    Datos = {
        "usr_username"  :   "usuario",
        "usr_password"  :   "contrasenia"    
    };

    datosRegistro = {
        "Accion"    :   2 , //2  es obligatorio para login
        "Datos"     :   Datos   
    };

    $.ajax({
        url: 'http://mihost/server/sitio.php',
        data: {'datosRegistro': JSON.stringify(datosRegistro) },
        type: 'POST',
        dataType: 'json',
        async: false,
        success: function(p, estado, xhr) {
            // Para atrapar otros posibles errores
            try {
                // Asigna el objeto de retorno
                objRetorno = JSON.parse(p);

                // Valida el error controlado
                if ( objRetorno.Error == true ) {
                    // Informa el error al usuario
                    // Muestra el mensaje (cambia icono y pone mensaje)
                    alert(objRetorno.Mensaje);

                    // Termina el procedimiento
                    return false;
                }
                else
                {

                    //aqui escribes el codigo en caso de ser correctos los datos

                    return true;
                }
            }
            catch(error){
                // Notifica el error al usuario
                alert( "Excepcion encontrada al recuperar cadena JSON.nnDetalles : " + error.message ) ;
            }  

        },
        error: function(xhr, estado, errata) {
            // Informa el error interno al usuario
            alert('La accion no pudo ser procesada correctamente...');

            // Termina el procedimiento
            return false;
        },
        dataType:   'html'

    }); // Termina la llamada AJAX
})

solución

Lo más seguro es que tengas una URL a la que hacer la petición como por ejemplo

http://webservice.com/file.php y aquí tengas que construir la cadena con los parámetros que te pidan pero te tienen que decir los administradores cómo pasarlos.

Si por ejemplo le estás pasando Id pero ellos en su webservice lo están intentando validar como iduser te va a fallar.

La URL tendrás que construirla como por ejemplo: http://webservice.com/file.php?id=1234&clave=2345 (te aconsejaría pasar las variables en minúscula, en vez de Id como tienes pasar id). De todas formas tendrás que pedirles como comentaba el compañero cómo tienes que facilitarles los datos: si ellos buscan una variable por nombre “idusuario” y le pasas “id” siempre va a fallar, pero es algo que te tienen que aclarar ellos 😉

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *