Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.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
PHP在处理来自angularjs的POST请求后返回html响应_Php_Angularjs_Post - Fatal编程技术网

PHP在处理来自angularjs的POST请求后返回html响应

PHP在处理来自angularjs的POST请求后返回html响应,php,angularjs,post,Php,Angularjs,Post,我已将angularjs post请求作为: var loginApp = angular.module("loginApp",[]); loginApp.controller('loginController', function loginController($scope,$http,$window) { $scope.submitHandle = function() { var req = { url: '../login.php',

我已将angularjs post请求作为:

var loginApp = angular.module("loginApp",[]);
loginApp.controller('loginController', function 
loginController($scope,$http,$window) {

    $scope.submitHandle = function() {
        var req = {
            url: '../login.php',
            method: 'POST',
            data: {
                username: $scope.Username,
                password: $scope.Userpassword,
            }

        };
        $http(req).then(function success(response) {
            var data = response.data;
            if(data.returnCode ==200) {
            alert("Welcome : "+ data.username);
                $window.location = '../webapp/html/user.html';
            }
            else {
                alert("User does not exist");
            }
    }, function(response) {
        alert("Error on server side");
    });
    }
});
此请求被传递到login.php,如下所示:

<?php
$servername = "localhost";
$username1 = "root"; 
$password1 = "abcd";

try {
    $conn = new PDO("mysql:host=$servername;dbname=ITC_MANAGEMENT", $username1, $password1);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$postdata=file_get_contents("php://input");
$request=json_decode($postdata,true);
$username=$request->username;
$password=$request->password;
$stmt = $conn->prepare("SELECT UserId, Password from USER_INFO WHERE UserID='".$username."' && Password='".$password."'");
$stmt->execute();
$row = $stmt->rowCount();
if ($row > 0){
$json_array=array();
   $json_array['returnCode']=200;
     $json_array['username']="user1";

          echo  json_encode($json_array);

} else{
   $json_array=array("returnCode"=>201,"username"=>"user1");

  echo json_encode($json_array);
}
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }
?>

您应该尝试处理PHP如何向应用程序客户端抛出错误

<?php
// Turn off error reporting
error_reporting(0);

// Report runtime errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);

// Report all errors
error_reporting(E_ALL);

// Same as error_reporting(E_ALL);
ini_set("error_reporting", E_ALL);

// Report all errors except E_NOTICE
error_reporting(E_ALL & ~E_NOTICE);
?>

参考:
参考资料:

如果您要查看html响应,那么您可以在第11行和第12行看到一些非对象问题。所以我认为你应该设法解决这个问题

Notice: Trying to get property of non-object in C:\wamp64\www\itc\login.php on line <i>11</i>

Notice: Trying to get property of non-object in C:\wamp64\www\itc\login.php on line <i>12</i>
从json对象$request获取用户名和密码

为了获取post数据,您正在使用文件内容

$postdata=file_get_contents("php://input");
然后是json对象

$request=json_decode($postdata,true);
请检查您是否在php中获得$postdata。 要在php中捕获postdata,可以使用$\u POST[]


使用错误报告(0);将修复您的问题,但为了使您的代码正确,您应该修复出现在html响应中的通知

您阅读了吗?这似乎是您的环境PHP错误配置。。。查看此处呈现的HTML:第11行和第12行出现错误,即
$username=$request->username
$password=$request->password
。看起来$request变量没有定义。谢谢。我可以解决
$username=$request->username中的错误$密码=$request->password使用
$username=$request['username']$密码=$request['password']@BadalJoshi太棒了!确保您可以从日志文件或日志处理程序PHP包(如Monolog)访问此错误。
$postdata=file_get_contents("php://input");
$request=json_decode($postdata,true);