Hola estoy teniendo problema en la devolución de los datos en mi llamada ajax usando vue js en laravel 5. Tengo una matriz de estado y de llamar a la función de ajax dentro del bucle. El problema ahora es que parece que el ajax no devuelve un valor. aquí está mi código:

ready: function() {

    var dData = {};

    for (var i=0; i<this.pState.selectedState.length; i++){
        dData = this.displayCounty(this.pState.selectedState[i])
    }
    console.log(dData);

},
methods:{

    displayCounty: function(val){
        var nData = {};

        //ajax get County list
        this.$http.get('/api/counties/' + val )
            .success(function(counties){
               return counties;
            })
            .error(function(){

            }) //ajaxcall

    }//displaCounty
}

alguna idea chicos?

InformationsquelleAutor user3814670 | 2015-08-19

3 Comentarios

  1. 4

    Si usted sólo desea asignar los resultados devueltos a una variable, a continuación, intente esto:

    ready: function() {
        this.getCounties;
    },
    
    data: {
        counties: []
    },
    
    methods:{
    
        getCounties: function(val){
    
            //ajax get County list
            this.$http.get('/api/counties/' + val )
                .success(function(counties){
                   this.counties = counties;
                })
                .error(function(){
    
                }); //ajaxcall
    
        } //displayCounty
    }
    • Lo que hice es asignarlo a una variable como «var = auto esta» entonces en el ajax me acaba de asignar los países para auto.países y ahora puedo obtener los valores.
    • ¿Y si no quiero asignar el resultado a los países de datos?
  2. 3

    Yo creo que son malentendido de la naturaleza asíncrona de $http.get. El retorno que han de return counties no va a efecto el valor de retorno de displayCounty. displayCounty devuelve null de inmediato y la return counties más tarde termina haciendo nada.

    Una buena estrategia a utilizar en este caso es tener la success de devolución de llamada establecer counties en el Modelo de Vista. A continuación, puede configurar un observador en counties y proceso de los datos cuando los cambios.

  3. 0

    Listo ha sido sustituido por Montados en Vue.js 2

    Debe utilizar este:

    ready: mounted() {
        this.getCounties;
    },

Dejar respuesta

Please enter your comment!
Please enter your name here