我有 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。这只是一个简单的测试,看看 post 是否有效。我是 php 和 angular 的新手,在这一点上卡住了。任何帮助将不胜感激。
您应该尝试处理 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);
?>
参考:https : //www.w3schools.com/php/func_error_reporting.asp参考:http : //php.net/manual/en/function.error-reporting.php
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句