Javascript 返回上一个函数
我正在使用ajax检查是否使用了用户名。如果使用用户名,则表单提交函数返回false。我正在使用MySQL index.phpJavascript 返回上一个函数,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},
$("#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注入@你不应该,所以我忽略了这种可能性。