使用 angular.js 和 php 在 $http 请求中获取错误回调函数的问题

Getting issue in error callback function in $http request using angular.js and php

我在使用 angular.js 和 php.Here 的 $http 请求 errorCallback 函数中遇到一个问题 当我输入错误时我有一个登录页面 username/password 值总是 return到 successCallback function.I 我在下面解释我的代码。

loginController.js:

var loginAdmin=angular.module('Channabasavashwara');
loginAdmin.controller('loginController',function($scope,$http,$location){
    $scope.user_name = ''; 
    $scope.user_pass = '';
    $scope.user_type= '';
    $scope.user_login=function(){
    if($scope.user_name==''){
        alert('user name filed should not keep blank');
    }else if($scope.user_pass==''){
        alert('password filed should not keep blank');
    }else if($scope.user_type==''){
        alert('Please select your user type');
    }else{
        var userData={'user_name':$scope.user_name,'user_pass':$scope.user_pass};
        if($scope.user_type=='admin'){
        $http({
            method: 'POST',
            url: "php/Login/login.php",
            data: userData,
            headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
        }).then(function successCallback(response){
            console.log('response',response);
            alert(response.data['msg']);
            $location.path('dashboard');
        },function errorCallback(response) {
            alert(response.data['msg']);
        });
    }
    if($scope.user_type=='hod'){
        $http({
            method: 'POST',
            url: "php/Login/hodLogin.php",
            data:userdata,
            headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
        }).then(function successCallback(response){
            alert(response.data['msg']);
            $location.path('dashboard');
        },function errorCallback(response) {
            alert(response.data['msg']);
        });
    }
    }
    }
});

login.php:

<?php header("HTTP/1.0 401 Unauthorized");
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$user_name=$request->user_name;
$user_pass=$request->user_pass;
$connect = mysql_connect("localhost", "root", "****");
mysql_select_db('go_fasto', $connect);
$selquery = "SELECT * FROM db_Admin_Master WHERE user_name='".$user_name."' and password='".$user_pass."'";
$selres = mysql_query($selquery);
if(mysql_num_rows($selres ) > 0){
    $result=mysql_fetch_array($selres);
    $result['msg'] = 'Login successfull...';
}else{
    $result['msg'] = 'You entered wrong username/password';
}
echo json_encode($result);
?>

这里我的问题是假设用户输入了错误的用户名和密码消息(i.e-You entered wrong username/password)总是return发送到successCallback函数应该return到errorCallback function.Here 我的要求是成功消息 return 到 seccessCallback 函数,错误消息将 return 到 errorCallback function.Please 帮助我。

尝试设置错误 HTTP header 如下所示,这将使您的回调知道 PHP 端出现错误。

<?php 
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$user_name=$request->user_name;
$user_pass=$request->user_pass;
$connect = mysql_connect("localhost", "root", "Oditek123@");
mysql_select_db('go_fasto', $connect);
$selquery = "SELECT * FROM db_Admin_Master WHERE user_name='".$user_name."' and password='".$user_pass."'";
$selres = mysql_query($selquery);
if(mysql_num_rows($selres ) > 0){
$result=mysql_fetch_array($selres);
$result['msg'] = 'Login successfull...';
}else{
header("HTTP/1.0 401 Unauthorized");
$result['msg'] = 'You entered wrong username/password';
}
echo json_encode($result);
?>