我在function
中进行了ajax调用,但我找不到如何return
数据的解决方案:
function get_blog_post(id){
var info="id="+id;
$.ajax({
type: 'POST',
url: 'get_blog_post.php',
data: info,
success: function(data){
return data;
}
});
}
上面的代码不起作用。 data
包含正确的答案,但如果我致电get_blog_post()
function
,我就无法使用它。
:\
答案 0 :(得分:4)
function get_blog_post(id, callback){
var info="id="+id;
$.ajax({
type: 'POST',
url: 'get_blog_post.php',
data: info,
success: function(data){
callback(data);
}
});
}
get_blog_post(5, function(data){
// use data here
});
或者设置async = false(不推荐):
$.ajax({
type: 'POST',
url: 'get_blog_post.php',
data: info,
async: false,
success: function(data){
return data;
}
});
答案 1 :(得分:1)
{1}}函数在ajax调用完成后运行一段时间。这就是异步调用的本质 - 就像javascript中的ajax一样。
这意味着您无法返回它并且必须对该函数中的数据执行某些操作。也许它是文本,你把它放在一个文本区域,如:
success
答案 2 :(得分:1)
提供回调方法并执行您想要在其中执行的操作
function get_blog_post(id, callback){
var info="id="+id;
$.ajax({
type: 'POST',
url: 'get_blog_post.php',
data: info,
success: callback
});
}