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显示未定义。你能否告诉我这里的代码有什么问题
答案 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);
}