返回ajax数据

时间:2013-04-11 16:57:14

标签: ajax jquery

我在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,我就无法使用它。

:\

3 个答案:

答案 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
    });

}