あなた<script type='text/javascript'>
があなたの<body>
. 次のようなものを試してください:
if($('#name')){
$('#usernameLoading').show();
$.post('check', {name: $('#name').val(), platform: $('#platform').val()}, function(response){
$('#usernameResult').fadeOut();
setTimeout(function(){
//need your usernameResult and response to be dealt with here
}, 400);
});
return false;
}
に渡した実行済み関数を変更したことに気付くはずですsetTimeout()
。その場で実行したい場合を除き、実行された関数をそのようなパラメーターに送信することはできません。ただし、finishAjax
メソッドを作成してから、次のようにパラメーターなしで渡すこともできます。
setTimeout(finishAjax, 400);
残念ながら、setTimeout()
関数の引数を渡すことができる引数がありません。私が話していることを理解するには、以下を確認してください。
function lameFunc(func, funcArg){
return func(funcArg);
}
function lameQuote(q){
return q;
}
var whatever = lameFunc(lameQuote, 'var whatever is now this String');
これは、引数を別の関数に渡す関数の例でした。lameQuote
次のように、匿名関数と交換しても引数を渡すことができます。
var someVar = lameFunc(function(arg){return arg;}, 'This String Will Go In arg and, therfore, someVar');
setTimeout()
これは、関数に渡すことができる別の引数を取らないことを除いて、内部でどのように機能するかです。したがって、次のようになります。
function lameFunc(func){
return func();
}
もちろん、明らかにもっと違いがありますが、これは何かを教えてくれるはずです。