Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jqueryajax函数不起作用?_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript jqueryajax函数不起作用?

Javascript jqueryajax函数不起作用?,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在为我的网站开发一个简单的登录表单。为了做到这一点,我想使用ajax连接php来验证用户。然而,要做到这一点,我无法从ajax获得输出 <script> function submitForLogin() { $.ajax({ type: "POST", url: "php/login.php", data: { email: "exampl

我正在为我的网站开发一个简单的登录表单。为了做到这一点,我想使用ajax连接php来验证用户。然而,要做到这一点,我无法从ajax获得输出

<script>
 function submitForLogin() 
 {  
    $.ajax({
            type: "POST",
            url: "php/login.php",
            data: { email: "example@abc.com",password:"123" }}).done(function(data){alert(data);});
            
 }

</script>

函数submitForLogin()
{  
$.ajax({
类型:“POST”,
url:“php/login.php”,
数据:{电子邮件:example@abc.com,密码:“123”}).done(函数(数据){alert(数据);});
}
当用户单击登录按钮时,它调用submitForLogin()函数

上面是我放在login.html文件中的部分代码。为了验证这是否有效,我简单地用硬编码值替换了电子邮件和密码的数据值

注:example@abc.com以及存储在Wamp服务器数据库中的电子邮件和密码。 这是PHP文件:

<?php
$userEmail=$_POST['email'];
$userPass=$_POST['password'];
$servername ="localhost";
    $username="root";
    $password="";
    $dbname="AS2014459";
    //To create a connection
    $con = mysqli_connect($servername,$username,$password,$dbname); //check connection
    if(!$con){
        die("Connection failed: ".mysqli_connect_error());
    }   
    $sql="SELECT Email,Password FROM USERTABLE WHERE Email='".$userEmail."'";
    $results=mysqli_query($con,$sql);
    if(mysqli_num_rows($results)>0)
    {
        echo "userExist";
    }
    else
    {
        echo "fakeUser";
    }
    mysqli_close($con);



?>

您需要包含请求成功时的函数,其中包括响应

$.ajax({
    type: "POST",
    url: "php/login.php",
    data: { email: "example@abc.com",password:"123" },
    success:function(data){
        alert(data)
    };
});
AJAX
调用中的
data
JSON
格式的。 在php脚本中,应使用
json解码
,如下所示

$data = file_get_contents("php://input");
$data = json_decode($data,true);
$userEmail=$data['email'];
$userPass=$data['password'];

我希望这对你有帮助。您的登录将按预期工作

在我的机器上尝试此代码。不要忘记放置Jquery文件。 PHP(ajax.PHP):


函数submitForLogin()
{
警报(“23”);
var email=document.getElementById(“txtUserName”).value;
var password=document.getElementById(“txtPassword”).value;
$.ajax({
类型:“POST”,
url:“login1.php”,
数据:{电子邮件:电子邮件,密码:密码},
成功:功能(响应){
警报(响应);
}
});
}

服务器端(login1.php):


更改php文件,如下所示:

<?php
$userEmail=$_POST['email'];
$userPass=$_POST['password'];
$servername ="localhost";
$username="root";
$password="";
$dbname="AS2014459";
//To create a connection

header('Content-type: application/json');


$con = mysqli_connect($servername,$username,$password,$dbname); //check connection
if(!$con){
    die("Connection failed: ".mysqli_connect_error());
}   
$sql="SELECT Email,Password FROM USERTABLE WHERE Email='".$userEmail."'";
$results=mysqli_query($con,$sql);
if(mysqli_num_rows($results)>0)
{
     $res = "userExist";
     $data = json_encode($res);
     echo $data;
     die();

}
else
{

    $res = "fakeUser";
    $data = json_encode($res);
    echo $data;
    die();
}
mysqli_close($con);



?>

尝试此函数submitForLogin(){$.ajax({type:“POST”,url:“php/login.php”,数据:{email:“example@abc.com,密码:“123”},成功:函数(响应){alert(响应);}}}}您是否检查了控制台中的错误和网络选项卡以了解AJAX发生了什么?您对SQL注入持开放态度。参数化。@Lalit仍然没有发生任何事情。然后你在某个地方输入了一个错误。您的实际代码中还有其他JavaScript吗?OP使用的是
.done()
。另外,不推荐使用
。success
。仍然不提供任何信息:(很抱歉,我没有意识到done函数。但是我研究了它,它只有$.ajax({}).success(function(){…});这是不推荐的,不是success:function(){…}如果OP甚至没有收到返回数据的警报,这会做什么?非常感谢。这就是我得到的。但是代码结束时,我得到了UserExist message.C:\wamp64\www\WebProject\php\login.php:2:array(size=2)'email'=string'samitha@abc.com'(长度=15)'password'=字符串'123'(长度=3)UserExist但现在也没有给出任何信息:3现在的输出是什么?
<html>
<head>
    <script src="jquery.min.js"></script>
    <script>
        function submitForLogin() 
 {
        alert("23");
        var email = document.getElementById("txtUserName").value;
        var password = document.getElementById("txtPassword").value;
    $.ajax({
            type: "POST",
            url: "login1.php",
            data: { email: email,password:password },
            success : function(response){
                alert(response);
            }
   });

 }

    </script>
</head>
<body>
    <input type="text" placeholder = "Enter user name" id="txtUserName"/>
    <input type="password" placeholder = "Enter password" id="txtPassword"/><br>
    <input type="button" onclick="submitForLogin();" value="Login"/>
</body>
</html>
    <?php
var_dump($_POST);
?>
<?php
$userEmail=$_POST['email'];
$userPass=$_POST['password'];
$servername ="localhost";
$username="root";
$password="";
$dbname="AS2014459";
//To create a connection

header('Content-type: application/json');


$con = mysqli_connect($servername,$username,$password,$dbname); //check connection
if(!$con){
    die("Connection failed: ".mysqli_connect_error());
}   
$sql="SELECT Email,Password FROM USERTABLE WHERE Email='".$userEmail."'";
$results=mysqli_query($con,$sql);
if(mysqli_num_rows($results)>0)
{
     $res = "userExist";
     $data = json_encode($res);
     echo $data;
     die();

}
else
{

    $res = "fakeUser";
    $data = json_encode($res);
    echo $data;
    die();
}
mysqli_close($con);



?>
$.ajax({
type: "POST",
url: "php/login.php",
data: { email: "example@abc.com",password:"123" },
success:function(data){
    alert(data);
};
});