Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.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 ajaxurl:参数和检查是否成功_Javascript_Php_Ajax - Fatal编程技术网

Javascript ajaxurl:参数和检查是否成功

Javascript ajaxurl:参数和检查是否成功,javascript,php,ajax,Javascript,Php,Ajax,我不太确定这是怎么回事,但我的成功(数据)价值来自哪里? 我必须在url:php/login.php中返回一个值吗 $.ajax({ url: 'php/login.php', //must i return a value in login.php? data: {username:username,password:password}, type: "POST", dataType: 'json',

我不太确定这是怎么回事,但我的成功(数据)价值来自哪里? 我必须在url:php/login.php中返回一个值吗

 $.ajax({     
  url: 'php/login.php',    //must i return a value in login.php?                    
  data: {username:username,password:password},
  type: "POST",    
  dataType: 'json',                  
  success: function(data)          
  {
     if(data == true){
        console.log("sdfsdfs   " + data);
        login.submit();
    }
     else{
        console.log("NO DATA PRESENT");
     }       
  } 
     //else do an alert("please lgo in again");    
 });  
在php/login.php中,我查询数据库以查看是否存在这样的用户以及密码是否匹配

我的login.php的一部分

 <?php
 echo $username = $_POST['username']; //not echo-ing
 echo $password = $_POST['password'];  
 if ($_POST['login']) //check if the submit button is pressed
 {
   $remember = $_POST['remember'];  
   if ($username&&$password) //check if the field username and password have values
   {
     $dbhost = 'localhost';
     $dbuser = 'root';
     $dbpass = '';

     $connect=mysqli_connect($dbhost,$dbuser,$dbpass) or die("Unable to Connect");  
    mysqli_select_db($connect,"clients") or die("Could not open the db");
    $sql = "SELECT * FROM clients.users WHERE username='$username'";
    $login = mysqli_query($connect, $sql);
    if (mysqli_num_rows($login))
    {
        while ($row = mysqli_fetch_assoc($login)) 
        {
            $db_password = $row['password']; 
            if ($password==$db_password)
            {   
                $loginok = TRUE;
                echo json_encode( true );
            } else {
              echo json_encode( false );
              echo "Please re-enter username and password, they did not match";            
              header("Location: ../login.php");
            }      
   ?>

当您想使用ajax返回一些数据时,需要在脚本中回显ajax将调用的数据。如果请求成功,它会将脚本中的所有回显内容返回到success函数中指定的参数中

success: function(data)          
  {
     // code...
  }
所以“数据”将包含脚本的结果,然后您可以做任何您想做的事情

编辑:

好吧,我会这样解决它

 $db_password = $row['password']; 

        if ($password==$db_password)
        {   
            echo json_encode(array("status" => "ok", "message" => "Login successful!"));
        } else {
          echo json_encode(array("status" => "error", "message" => "Please re-enter username and password, they did not match!"));         
          //header("Location: ../login.php"); you don't need this
        }

你不能回显json,然后在它后面加上一些文本。您可以,但不建议这样做。

您必须在login.phpSure中返回或回显一个值,您必须以JSON格式返回(输出)数据。请参阅修订的OPyes谢谢,但我是否在login.php中返回此值?请看下面的例子:谢谢,我的ajax在成功后会是什么样子:我已经记不起来了:)那么问题出在哪里?是否要使用javascript检查用户登录是否成功?您需要更精确地指定您的问题:Pit看起来不像我的url:php/login.php被执行,我在开始时有一些回音,它不会显示。如果您的ajax请求返回空结果,则可能意味着您请求的脚本有一些错误,或者您没有回音,或者您回音了NULL值或零值。