我希望得到解决的任何建议。在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 –