У меня есть пост-запрос angularjs как:
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();
}
?>
Теперь, когда я проверяю response.data, он выглядит следующим образом:
"<br />
<font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Trying to get property of non-object in C:\wamp64\www\itc\login.php on line <i>11</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0006</td><td bgcolor='#eeeeec' align='right'>247504</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\wamp64\www\itc\login.php' bgcolor='#eeeeec'>...\login.php<b>:</b>0</td></tr>
</table></font>
<br />
<font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Trying to get property of non-object in C:\wamp64\www\itc\login.php on line <i>12</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0006</td><td bgcolor='#eeeeec' align='right'>247504</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\wamp64\www\itc\login.php' bgcolor='#eeeeec'>...\login.php<b>:</b>0</td></tr>
</table></font>
{"returnCode":200,"username":"user1"}"
Как видно, я ожидал response.data = {"returnCode":200,"username":"user1"}"
, но я не знаю, почему присутствует HTML.
Это был простой тест, чтобы увидеть, работает ли пост.
Я новичок в php и угловой и застрял в этой точке. Любая помощь будет по достоинству оценена.