我希望得到解決的任何建議。在Javascript中按順序執行命令
我正在使用JS函數checkAvailability()來確認一個組是否可用於添加到數據庫。 (由於某些原因,數據庫密鑰約束不適用) 執行此操作時,有時我的函數甚至會在從PHP文件接收輸出之前返回。
所以我得到了一個混合的結果。當收到來自PHP文件的輸出時,它顯示正確的結果。但其餘時間它只是返回假。
任何關於如何解決這個問題的指針? 代碼如下:
謝謝, Vish
//函數來檢查組名可用性
function checkAvailability(){
var grpname = $('#groupname').val();
var isAvailable = false
//use ajax to run the check
$.post("checkGroupName.php", { gname: grpname },
function(result){
if(Number(result) == 0){
//show that the groupname is available
isAvailable = true ;
$('#username_availability_result').html(grpname + ' is Available');
}
else{
//show that the groupname is NOT available
isAvailable = false ;
$('#username_availability_result').html(grpname + ' is already taken');
}
});
alert("isAvailable : "+isAvailable);
return isAvailable ;
}
checkGroupName.php文件
$gname = $_POST['gname'];
$query = "SELECT * FROM groups WHERE group_name='$gname'";
$result = mysql_query($query);
if(mysql_num_rows($result)){
echo 1;
else
echo 0;
我肯定喜歡能夠在您的應用程序運行的SQL注入攻擊! –
爲什麼你不想比較結果作爲字符串?如果(結果=='0'){... – heximal
用戶:Re @ Delan的評論,這是一個真正的問題,你會想要在你的代碼中處理。更多:http://en.wikipedia.org/wiki/Sql_injection –