我使用$ .ajax将数据发布到服务器。但是我想将一个额外的参数传递给'success'回调,以告诉回调函数响应所用的HTML元素的id。
有可能吗?像:
success_cb(data, elementid)
{
(update the elementid with the server returned data)
}
$.ajax({
...
success:success_cb(elementid)
});
答案 0 :(得分:22)
有可能。尝试类似:
function success_cb(data, elementid)
{
(update the elementid with the server returned data)
}
$.ajax({
...
success:function(data){ success_cb(data, elementid); }
});
答案 1 :(得分:13)
function postForElement(elementId){
$.post('/foo',someValues,function(data){
$(elementId).html("The server returned: "+data);
},'json');
}
通过在与elementId
局部变量相同的范围内声明函数文字,该函数变为可以访问该局部变量的闭包。 (或者有些人可能会说,当函数文字也引用未在其范围内定义的非全局变量时,它只会成为闭包。这只是用单词绑定。)