2

我在 a 中有一个 ajax 调用,但function我没有找到如何处理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.

:\

4

3 回答 3

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;
        }
    });
于 2013-04-11T17:01:41.157 回答
1

提供一个回调方法并在其中做任何你想做的事情

function get_blog_post(id, callback){

    var info="id="+id;
    $.ajax({
            type: 'POST',
            url: 'get_blog_post.php',
            data: info,
            success: callback
    });

}
于 2013-04-11T17:02:13.467 回答
1

success函数在 ajax 调用完成后运行一段时间。这就是异步调用的本质——就像 javascript 中的 ajax。

这意味着您不能返回它并且必须对该函数中的数据做一些事情。也许它是文本,您将其放入文本区域,例如:

success: function(data){
             $('textarea').val(data);
         }
于 2013-04-11T17:00:13.710 回答