Javascript 这个ajax代码中的错误是什么?
下面是我使用Ajax从数据库检查用户名的代码。html页面的输入文本不会进入checkusername.phpJavascript 这个ajax代码中的错误是什么?,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,下面是我使用Ajax从数据库检查用户名的代码。html页面的输入文本不会进入checkusername.php$\u POST['uname']可能是什么错误?我尝试了所有的方法,但仍然不起作用。当单击按钮时,如何将用户名文本框中的值带入checkusername.php文件 html页面代码 <input type="text" name="uname" class="form-control" id="username" placeholder="UserName (0-9,A-Z,a
$\u POST['uname']代码>可能是什么错误?我尝试了所有的方法,但仍然不起作用。当单击按钮时,如何将用户名文本框中的值带入checkusername.php文件
html页面代码
<input type="text" name="uname" class="form-control" id="username" placeholder="UserName (0-9,A-Z,a-z)">
<input type='button' id='check_username_availability' value='Check Username Availability'>
<div id='username_availability_result'></div>
checkusername.php
<?php
$con=mysqli_connect("localhost","root","","database")or die(mysqli_error());
//get the username
$username = mysqli_real_escape_string($con,$_POST['uname']);
//mysql query to select field username if it's equal to the username that we check '
$result =mysqli_query($con,"Select username from users where username='$username'") or die(mysqli_error($con));
//if number of rows fields is bigger them 0 that means it's NOT available '
if(mysqli_num_rows($result)>0){
//and we send 0 to the ajax request
echo 0;
}else{
//else if it's not bigger then 0, then it's available '
//and we send 1 to the ajax request
echo 1;
}
?>
简单的打字错误
改变
var username = $('#username').val();
//use ajax to run the check
$.post("checkusername.php",{ username: uname },
到
交换值:
{ username: uname }
为此:
{ uname: username }
因为php希望在您发送用户名时,按照此$\u POST['uname']
的要求,有一个名为uname
的变量
因此,简单的更改是交换对象中的属性。您正在发布到checkusername.php
{用户名:uname}
并尝试获取$\u POST['uname']
,而在js中没有uname
变量。
将{username:uname}
更改为{uname:username}
您可以在启动请求$.post(“checkusername.php”),{username:uname}后通过检查控制台自己找到错误。我怀疑错误在这里的某个地方,但无法对其进行诊断。它不是{uname:username}
,就像php查找$\u post一样吗['uname']
…?非常感谢您找到它..控制台响应200 OK 80ms非常感谢!感谢@Jai的帮助
{ username: uname }
{ uname: username }