我有以下功能:
function loadProjects(pID) {
$.ajax({
url: myURL,
success: function (dataJS) {XXXXXXXXXXXXXXXX}
});
}我这样调用这个函数: loadProjects(1);
问题是我希望在成功之后能够定义一个回调函数,并且我想在执行回调时包含它(1,loadProjects:{这里包含的任何js在成功后被回调})
如何让函数接受回调?如何将回调传递给该函数?
谢谢
发布于 2011-04-27 08:14:56
function loadProjects(pID, callbackFunction)
{
$.ajax({
url: myURL,
success: function (dataJS)
{
if(typeof callbackFunction == 'function')
{
callbackFunction.call(this, dataJS);
}
}
});
}用法:
loadProjects(pID, function(dataJS)
{
// do stuff with your dataJS, bear in mind you can call the parameter any name.
});发布于 2011-04-27 08:14:45
下面是如何修改您的函数,使其可以接受回调。
function loadProjects(pID, callback) {
$.ajax({
url: myURL,
success: function (dataJS) {
if ($.isFunction(callback)) {
callback.call();
}
}
});
}下面是你将如何使用它。
function myCoolCallback() {
alert("I am cool");
}
loadProjects(123, myCoolCallback);或者,您可以将其与匿名函数一起使用,如下所示。
loadProjects(123, function() {
alert("I am cool");
});发布于 2011-04-27 08:14:54
function loadProjects(pID, callback) {
$.ajax({
url: myURL,
success: function (dataJS) { if (callback) { callback(); } }
});
}调用类似如下的代码:
loadProjects(111, function() { alert('hello!'); });https://stackoverflow.com/questions/5797930
复制相似问题