I'm trying to pass in a function to run when the AJAX call is successful, however it's not working as it say's that "callback is not a function".
Example:
Calling Code:
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);
}
});
}
Now if I replace this line below with the function name itself it works:
callback(response);
But I can't get it to work like above where I get the function name from a passed in parameter.
window[callback]to reference a variable in the global scope, and assign the function instead of using a function decleration.done()would be a lot simpler, like so -> JSBIN