私のページにフォームがあります。ユーザーが [送信] ボタンを押すと、バックグラウンドで、この番号を生成する関数を呼び出して unique_number も生成し、この番号が存在しないことを DB でチェックします。存在する場合 - 再度生成し、そうでない場合 - この番号を返します。ただし、何らかの理由で、この番号をページに出力したり、警告したりしようとするとundefined
、関数は番号を返しますが、取得しています。関数の呼び出しは次のとおりです。
var unique_num = create_unique_number();
alert(unique_num);
rest of this function...
そして、ここに関数自体があります:
function create_unique_number()
{
var num = Math.floor(Math.random() * (999999 - 100000 + 1)) + 100000;
$.getJSON("inc/API.php",
{
command:"is_unique_number_exist",
unique_num:num
},
function(result){
if(result==true){
create_unique_number();
}
else
{
return num;
}
});
}
true の場合は結果を取得します。false の場合は新しい番号を生成し、返される必要があります。alert
私はその部分の数字を試してみましたelse
が、番号を警告しましたが、戻り時に-未定義です。なぜそれが起こっているのか、それを修正する方法は?