Mam funkcję AJAX:

function abc(url){    
$.ajax({
                url:'/account/search',
                type:'GET',
                success:update(url),
                error:function(error){
                    console.log(error);
                }
            });
}

W sprawie sukcesu znajduje się wezwanie funkcji do aktualizacji:

   function update(response,url){
            list = response.data;
            var i=0;
            var q = list.length;
}

Ale rzuca błąd: nie może odczytać właściwości "Długość" niezdefiniowanego w konsoli.

Ponieważ funkcja jest już odbierająca dane z innego pliku, który jest w parametrze odpowiedź , więc nie mogę go usunąć.

Podaj sugestie, jak poprawnie przekazać parametr (tj. "URL" w tym przykładzie) do funkcji aktualizacji z połączenia AJAX.

Dzięki

3
ssharma 24 czerwiec 2017, 17:28

3 odpowiedzi

Najlepsza odpowiedź

Potrzebujesz innej funkcji. Samo success Callback Właśnie otrzymał jeden parametr: odpowiedź AJAX. Jeśli potrzebujesz drugiego, potrzebujesz połączenia funkcji pomiędzy.

function abc(url){    
  $.ajax({
                url:'/account/search',
                type:'GET',
                success: function(data){ update(data, url); },
                error:function(error){
                    console.log(error);
                }
            });
}
10
Sirko 24 czerwiec 2017, 14:32

Spróbuj tego Nie przekazuj żadnego parametru w sukcesie

function abc(url)
{    
  $.ajax({
                url:'/account/search',
                type:'GET',
                success: update,
                error:function(error){
                    console.log(error);
                }
            });
}



function update(data){
            console.log(data)
            var q = data.length;
}
0
Vinaysingh Khetwal 24 czerwiec 2017, 15:03

Spróbuj tego: może działać w tym scenariuszu. Wiążą wartość za pomocą tego może działać.

   
   
     function addRemoveQuestion(id){
        
         
         var formData =    $("#q_"+id).serialize()  
         
        $.ajax({
            method: "POST",
            url: window.location.href,
            data: formData,
            success: handleFormSuccess.bind(this, id) ,
            error: handleFormError,
        })
   }
   function handleFormSuccess( data, response,textStatus, jqXHR){
        console.log( data)//id
        console.log(textStatus)
        console.log(jqXHR)
        console.log("#btn_"+data )
      
        
    }
0
Lucky 14 kwiecień 2020, 15:53