私はfolowingコードを持っている:これは動作しない理由をjQueryを使用して関数にajax呼び出しの結果を格納するにはどうすればよいですか?
function checkPermission(user) {
var result = 'default';
$.get('/mymodule/checkPermission.php?user=' + user, function(data) {
result = data; // does not store data into result, why ?
if (result == 'no') {
$('.sorry_msg').show();
}
});
alert(result); // shows "default".
return result == 'yes';
}
あなたは説明できます。問題は、result
に変数data
を保存できません。コードのコメントを参照してください。私は
と思われます。それは匿名機能
のためですが、私は何が起こるかを正確に理解するためには十分にjavascriptを知らない。
さらに、またはfalse
をcheckPermission
に返す方法は、ajax呼び出しの結果に基づいていますか?
Ajaxコールは正確には機能しません。成功のコールバック? 'result'のチェック? HTML要素を表示していますか?これは基本的なデバッグを最初に必要とします –
とにかく、Ajaxの非同期性のために 'result'は周囲の関数には存在しません。 –
クライアント側のパーミッションを確認することは本当に悪い考えです(純粋に美容的でない限り)。 –