[Pregunta]: ¿Qué significa esta alerta?

Iniciado por Leguim, 4 Diciembre 2019, 01:01 AM

0 Miembros y 1 Visitante están viendo este tema.

Leguim

Buenas noches,

¿Qué significa esta alerta? Apareció cuando a mi función AJAX le puse async: false para que deje de ser asincrona... ¿Qué quiere decir esta alerta? ¿Es algo grave?

engel lex

no es grave, es un aviso de obsolencia, ya que no se recomiendan funciones ajax sincronas y el standard indica su eliminacion...
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

AlbertoBSD

En teoria se deberia de buscar que todo se asincrono para una carga mas rapida de los elementos, tal vez utilizar promesas, para resoverlas funciones que requieren esperar a que algo suceda.

Saludos!
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

Leguim

Les agradecería mucho si me dan una mano con esto,

entonces digamos si yo necesito que una función AJAX se complete... mientras no se haya completado no puede ejecutar lo que tenga abajo.
Porque tengo que estar haciendo esto usando timeout para que funcione bien algo que se no es bueno ya que esto es dinámico quizá un día tarde 1.3 segundos completar la función AJAX quien sabe..

Código (javascript) [Seleccionar]

            var select_country = document.getElementById('select_country');
            var op_country = select_country.getElementsByTagName('option');
            op_country[<?php echo($_POST['select_country']); ?>].selected = true;

            Change_Select_Ubication('select_country'); // ESTA FUNCIÓN MIENTRAS NO SE COMPLETE QUE NO SIGA LEYENDO INSTRUCCIONES Y EJECUTANDOLAS
 
            setTimeout(function()
            {
                var select_province = document.getElementById('select_province');
                var op_province = select_province.getElementsByTagName('option');
                op_province[<?php echo($_POST['select_province']); ?>].selected = true;
             }, 1000);


Quise probar con async: false, pero bueno tampoco me sirvió... ¿Como podría aplicar las "promesas" acá? ¿Eso servirá?

AlbertoBSD

Necesitas combiar un poco de paradigma de programacion, yo antes tambien tenia problemas con esa parte de javascript.

Te recomiendo el siguiente link que a mi me sirvio mucho, muchisimo para entender las "Promises" y como aplicarlas en mi codigo.

https://scotch.io/tutorials/javascript-promises-for-dummies

Espero que a ti tambien te funcione.

Saludos!
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

Leguim

Cita de: AlbertoBSD en  4 Diciembre 2019, 05:57 AM
Necesitas combiar un poco de paradigma de programacion, yo antes tambien tenia problemas con esa parte de javascript.

Te recomiendo el siguiente link que a mi me sirvio mucho, muchisimo para entender las "Promises" y como aplicarlas en mi codigo.

https://scotch.io/tutorials/javascript-promises-for-dummies

Espero que a ti tambien te funcione.

Saludos!

Recien lo termine de ver, te agradezco... igualmente no me queda todavía en claro como puedo aplicarlo...

Buscando por ahí encontré lo siguiente aunque tampoco me funciona, ¿será que estoy cerca de entender o cada vez estoy más lejos?

Código (javascript) [Seleccionar]

$.when(Change_Select_Ubication('select_country')).then(function()
            {
                var select_province = document.getElementById('select_province');
                var op_province = select_province.getElementsByTagName('option');
                op_province[<?php echo($_POST['select_province']); ?>].selected = true;

                $.when(Change_Select_Ubication('select_province')).then(function()
                {
                    var select_municipality = document.getElementById('select_municipality');
                    var op_municipality = select_municipality.getElementsByTagName('option');
                    op_municipality[<?php echo($_POST['select_municipality']); ?>].selected = true;

                    $.when(Change_Select_Ubication('select_municipality')).then(function()
                    {
                        var select_city = document.getElementById('select_city');
                        var op_city = select_city.getElementsByTagName('option');
                        op_city[<?php echo($_POST['select_city']); ?>].selected = true;
                    });
                });
            });

Agente Naranja

Creo que el problema que tienes es que lo que le pases a when() tiene que regresar una promesa. Tu función "Change_Select_Ubication" no regresa ningún valor. Podrías probar a regresar desde tu función la promesa de ajax, por ejemplo:


  function Change_Select_Ubication(select)
    {
        var select_country = document.getElementById('select_country').value;
        var select_province = document.getElementById('select_province').value;

        return $.ajax({
            url: 'ajax/x.php',
            type: 'POST',
            dataType: 'html',
            data: {select, select_country, select_province},

            success: function()
            {
                $(document).ready(function()
                {
                    return true;
                });
            }
        })

        .done(function(results)
        {
            $('body').append(results);
        })
    }



No estoy del todo seguro, pero igual soluciona tu problema...o por ahí van los tiros