Javascript 返回上一个函数

Javascript 返回上一个函数,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我正在使用ajax检查是否使用了用户名。如果使用用户名,则表单提交函数返回false。我正在使用MySQL index.php $("#register-form").submit(function(){ var un = $("#un").val(); $.ajax({ type: "GET", url: "user_check.php", dataType: "html", data: {un: un},

我正在使用ajax检查是否使用了用户名。如果使用用户名,则表单提交函数返回false。我正在使用MySQL

index.php

$("#register-form").submit(function(){
    var un = $("#un").val();
    $.ajax({
        type: "GET",
        url: "user_check.php",
        dataType: "html",
        data: {un: un},
        success: function(data){

        }
    });
});
$db = mysqli_connect("localhost","root","","webcap");
$user = $_POST['un'];
$query = mysqli_query($db,"SELECT * FROM users WHERE username='$un'");
$count = mysqli_num_rows($query);
echo $count;
user\u check.php

$("#register-form").submit(function(){
    var un = $("#un").val();
    $.ajax({
        type: "GET",
        url: "user_check.php",
        dataType: "html",
        data: {un: un},
        success: function(data){

        }
    });
});
$db = mysqli_connect("localhost","root","","webcap");
$user = $_POST['un'];
$query = mysqli_query($db,"SELECT * FROM users WHERE username='$un'");
$count = mysqli_num_rows($query);
echo $count;

如果数据为1,如何将false返回到register form submit函数;如果数据为0,如何将true返回到register form submit函数?有更简单的方法吗?

使用JSON。在PHP中,请执行以下操作:

echo json_encode($count > 0);
在Javascript中,指定
type:'json'
而不是
type:'html'
。然后
数据
将为

但是,由于AJAX是异步的,因此不能从中返回值

您需要做的是在
.submit()
函数中防止正常表单提交。然后在
success:
函数中,检查响应并提交表单(如果成功)

$("#register-form").submit(function(e){
    e.preventDefault();
    var un = $("#un").val();
    $.ajax({
        type: "GET",
        url: "user_check.php",
        dataType: "json",
        data: {un: un},
        success: function(data){
            if (data) {
                $("#register-form")[0].submit(); // really submit the form
            } else {
                alert("Username is taken");
            }
        }
    });
});

请试试这个

<script>
    $("#register-form").submit(function(){
    var un = $("#un").val();
    $.ajax({
        type: "POST",
        url: "user_check.php",
        data: {un: un},
        success: function(data){
           alert(data);
        }
    });
});
</script>

<?php 

$db = mysqli_connect("localhost","root","","webcap");
$user = $_POST['un'];
$query = mysqli_query($db,"SELECT * FROM users WHERE username='".$user."'");
$count = mysqli_num_rows($query);
echo $count;
if($count>0){echo TRUE;}
else{echo FALSE;}
?>

$(“#登记表”)。提交(函数(){
var un=$(“#un”).val();
$.ajax({
类型:“POST”,
url:“user_check.php”,
数据:{un:un},
成功:功能(数据){
警报(数据);
}
});
});

注意Sql注入@你不应该,所以我忽略了这种可能性。