2015-06-19 2 views
-2
var left=$('.left p'); 

    left.click(function(){ 
     var index= $(this).index('.left p');   

     var returned_data= ajaxcall(click_name); 
     console.log(returned_data)     

    }); 


    function ajaxcall(name) 
    { 
     $.ajax({ 
       type: "POST",      
       url: "retriveData.php",      
       data:{click: name}, 
         cache: false,       
       success: function(data) 
       { 
        var p=data;       
        return p;      
       } 

     }) 
    } 

Мне нужно значение переменной p, которое нужно передать переменной функции return_data. Но return_data показывается неопределенным. Не могли бы вы рассказать мне, что здесь не так с кодомпередать a/a ajax для функции

ответ

1

Вы не можете возвращать данные из ajax. Ajax является асинхронным. Таким образом, функция не будет ждать события успеха.

Вы можете вызвать функцию из события успеха с этими данными. Это будет наилучшим возможным подходом.

$.ajax({ 
    type: "POST", 
    url: "retriveData.php", 
    data: { 
     click: name 
    }, 
    cache: false, 
    success: function(data) { 
     var p = data; 
     manipulateData(p); 
    } 

}); 

function manipulateData(data) { 
    console.log(data); 
} 
Смежные вопросы