javascript - 获取函数内ajax调用的返回值

标签 javascript php jquery

下面是我正在编写的代码。如您所见,我创建了一个名为“my_string”的变量,默认情况下,我想调用 get_result_data() 函数并将所有返回数据存储在变量“my_string”上。然后,一旦用户单击 $('#button') ,我想显示存储的数据。但问题是,我总是收到不明错误。

function get_result_data(){
    $.ajax({
        type: 'POST',
        url: 'ajax/get_result.php'
    }).done(function(data){
        return data;
    });
}

var my_string = get_result_data();


$('#button').click(function(){
    alert(my_string);
});

最佳答案

您的get_result_data函数不会返回任何内容,这就是您返回未定义的原因。相反,尝试在 ajax 回调中设置 my_string:

var my_string;
function get_result_data(){
    $.ajax({
        type: 'POST',
        url: 'ajax/get_result.php'
    }).done(function(data){
        my_string = data;
    });
}

$('#button').click(function(){
    // MY_STRING MIGHT BE UNDEFINED
    alert(my_string);
});

也许是更好的方法:

var response = $.ajax({
    type: 'POST',
    url: 'ajax/get_result.php'
});

$('#button').click(function(){
    response.done(function (data) {
        alert(data);
    });
});

关于javascript - 获取函数内ajax调用的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20778768/

相关文章:

php - 如何使用 preg_replace() 将 rel ="nofollow"添加到链接

php - SQL 删除在数组 : 中找不到的标签

javascript - jQuery 回调函数不适用于跨域

javascript - 隐藏弹出窗口时暂停/停止 YouTube 视频

javascript - 通过拖动调用 HTML5 输入

javascript - 使用ajax添加和删除评论?

php - 什么会导致 "too many database connections"

javascript - 如何立即改变选取框onclick的方向

javascript - 移除 KineticJS 中的舞台

javascript - 如何将较少的变量更改推送到 html iframe?