gpt4 book ai didi

javascript - 将回调函数传递给 jQuery AJAX 成功函数

转载 作者:可可西里 更新时间:2023-11-01 02:21:38 25 4
gpt4 key购买 nike

我试图传入一个函数以在 AJAX 调用成功时运行,但是它不起作用,因为它说“回调不是函数”。

例子:

调用代码:

getGrades(var);    

JS:

function getGrades(grading_company) {

// Set file to get results from..
var loadUrl = "ajax_files/get_grades.php";

// Set data string
var dataString = 'gc_id=' + grading_company;

// Set the callback function to run on success
var callback = 'showGradesBox';

// Run the AJAX request
runAjax(loadUrl, dataString, callback);

}

function showGradesBox(response) {

// Code here...

}

function runAjax(loadUrl, dataString, callback) {

jQuery.ajax({
type: 'GET',
url: loadUrl,
data: dataString,
dataType: 'html',
error: ajaxError,
success: function(response) {
callback(response);
}
});

}

现在,如果我用函数名称本身替换下面的这一行,它就可以工作了:

callback(response);

但我无法像上面那样从传入的参数中获取函数名称。

最佳答案

showGradesBox 是您代码中的一个字符串。所以你有两种选择来执行回调函数:

如果你想保留你可以使用的字符串

this[callback](response);

(如果 callback 是在全局范围内定义的,您还可以使用 window[callback](response);

或者你可以直接传递函数:

var callback = showGradesBox;

(在这种情况下,您可以保留现有代码以执行回调)

关于javascript - 将回调函数传递给 jQuery AJAX 成功函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14185402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com