AJAX リクエストを実行する遅い関数があります。
function X(param1,param2){
var params={
type: "POST",
url: "./ajax/useful.php",
data: "param1="+param1+"¶m2="+param2,
success: function(msg){
//do something
}
};
var result=$.ajax(params).responseText;
}
X("asdf","qwerty") を呼び出すと、すべて正常に動作します。
今、私がやりたいことは、関数 X を次のように呼び出すことができるようにすることです。
function X(param1,param2,function(){alert('hi');}){
var params={
type: "POST",
url: "./ajax/useful.php",
data: "param1="+param1+"¶m2="+param2,
success: function(msg){
/////
//I want to be able call the function in the 3rd parameter (alert in this case)
/////
}
};
var result=$.ajax(params).responseText;
}
ここで、success 内で直接 alert('hi') を呼び出さないのはなぜかと言うかもしれません。確かに私はこれを行うことができますが、呼び出された関数内で何が起こっているかを変えることができるようにしたいと考えています (単純なアラート ('hi') ではなく、誰が X を呼び出しているかによって異なります)。