【发布时间】:2010-11-14 17:05:38
【问题描述】:
我开始使用的 JavaScript 代码:
function doSomething(url) {
$.ajax({
type: "GET",
url: url,
dataType: "xml",
success: rssToTarget
});
}
我想使用的模式:
//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)
});
}
我认为我不能让回调以这种方式工作,对吧?什么是正确的模式?我不想使用全局变量来临时保存 elem 或 elem 名称。
【问题讨论】:
-
供将来参考:您需要将回调函数 (
rssToTarget) 存储在您传递给$.ajax()的对象文字的success属性中,因此 jQuery 可以在AJAX 请求完成。通过将(elem)添加到函数名称的末尾,您会错误地调用rssToTarget并将其返回值存储在success中。在 JS 中,在函数名末尾添加括号会调用它。
标签: javascript jquery ajax callback