Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Leguim en 4 Diciembre 2019, 01:01 am



Título: [Pregunta]: ¿Qué significa esta alerta?
Publicado por: Leguim en 4 Diciembre 2019, 01:01 am
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?


Título: Re: [Pregunta]: ¿Qué significa esta alerta?
Publicado por: engel lex en 4 Diciembre 2019, 02:50 am
no es grave, es un aviso de obsolencia, ya que no se recomiendan funciones ajax sincronas y el standard indica su eliminacion...


Título: Re: [Pregunta]: ¿Qué significa esta alerta?
Publicado por: AlbertoBSD en 4 Diciembre 2019, 03:30 am
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!


Título: Re: [Pregunta]: ¿Qué significa esta alerta?
Publicado por: Leguim en 4 Diciembre 2019, 05:03 am
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
  1.            var select_country = document.getElementById('select_country');
  2.            var op_country = select_country.getElementsByTagName('option');
  3.            op_country[<?php echo($_POST['select_country']); ?>].selected = true;
  4.  
  5.            Change_Select_Ubication('select_country'); // ESTA FUNCIÓN MIENTRAS NO SE COMPLETE QUE NO SIGA LEYENDO INSTRUCCIONES Y EJECUTANDOLAS
  6.  
  7.            setTimeout(function()
  8.            {
  9.                var select_province = document.getElementById('select_province');
  10.                var op_province = select_province.getElementsByTagName('option');
  11.                op_province[<?php echo($_POST['select_province']); ?>].selected = true;
  12.             }, 1000);
  13.  

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


Título: Re: [Pregunta]: ¿Qué significa esta alerta?
Publicado por: 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!


Título: Re: [Pregunta]: ¿Qué significa esta alerta?
Publicado por: Leguim en 4 Diciembre 2019, 06:16 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
  1. $.when(Change_Select_Ubication('select_country')).then(function()
  2.            {
  3.                var select_province = document.getElementById('select_province');
  4.                var op_province = select_province.getElementsByTagName('option');
  5.                op_province[<?php echo($_POST['select_province']); ?>].selected = true;
  6.  
  7.                $.when(Change_Select_Ubication('select_province')).then(function()
  8.                {
  9.                    var select_municipality = document.getElementById('select_municipality');
  10.                    var op_municipality = select_municipality.getElementsByTagName('option');
  11.                    op_municipality[<?php echo($_POST['select_municipality']); ?>].selected = true;
  12.  
  13.                    $.when(Change_Select_Ubication('select_municipality')).then(function()
  14.                    {
  15.                        var select_city = document.getElementById('select_city');
  16.                        var op_city = select_city.getElementsByTagName('option');
  17.                        op_city[<?php echo($_POST['select_city']); ?>].selected = true;
  18.                    });
  19.                });
  20.            });
  21.  


Título: Re: [Pregunta]: ¿Qué significa esta alerta?
Publicado por: Agente Naranja en 5 Diciembre 2019, 08:23 am
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:


Código:
  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