将ajax的o / p传递给函数

时间:2015-06-19 06:50:58

标签: jquery ajax

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中的值传递给click函数变量returned_data。但是returned_data显示未定义。你能否告诉我这里的代码有什么问题

1 个答案:

答案 0 :(得分: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);
}