Bud*_*Joe 73 javascript ajax jquery callback
我开始使用的JavaScript代码:
function doSomething(url) {
$.ajax({
type: "GET",
url: url,
dataType: "xml",
success: rssToTarget
});
}
Run Code Online (Sandbox Code Playgroud)
我想使用的模式:
//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)
});
}
Run Code Online (Sandbox Code Playgroud)
我不认为我可以通过这种方式获得回调,对吗?什么是正确的模式?我不想使用全局变量来暂时保存elemor elem名称.
Jos*_*ola 95
像这样...
function doSomething(url, elem) {
$.ajax({
type: "GET",
url: url,
dataType: "xml",
success: function(xml) {
rssToTarget(xml, elem);
}
});
}
Run Code Online (Sandbox Code Playgroud)
回答你的评论:使用匿名函数会影响性能吗?
CMS*_*CMS 30
如果在rssToTarget函数中创建闭包,则您想要使用的模式可以工作:
function rssToTarget(element) {
return function (xmlData) {
// work with element and the data returned from the server
}
}
function doSomething(url, elem) {
$.ajax({ type: "GET",
url: url,
dataType: "xml",
success: rssToTarget(elem)
});
}
Run Code Online (Sandbox Code Playgroud)
当rssToTarget(elem)被执行时,元件参数被存储在闭合,和回调函数返回,等待被执行.
| 归档时间: |
|
| 查看次数: |
63117 次 |
| 最近记录: |