JavaScript code I'm starting with:
function doSomething(url) {
$.ajax({
type: "GET",
url: url,
dataType: "xml",
success: rssToTarget
});
}
Pattern I would like to use:
//where elem is the target that should receive new items via DOM (appendChild)
function doSomething(url, elem) {
$.ajax({
type: "GET",
url: url,
dataType: "xml",
success: rssToTarget(elem)
});
}
I don't think I can get the callback to work this way, right? What is the proper pattern? I don't want to use global variables necessarily to temporarily hold the elem or elem name.
rssToTarget) within thesuccessproperty of the object literal you are passing to$.ajax(), so jQuery can call that function once the AJAX request is completed. By adding(elem)to the end of the function name, you are mistakenly invokingrssToTargetand storing its return value withinsuccess. In JS, adding parentheses at the end of a function name will invoke it.