嗨iam尝试使用angularjs从数据库中获取数据,但它没有显示任何数据。我刚开始学习AngularJs.Can任何人都帮我这个。这就是我的代码
income.html
<div class="container jumbotron" ng-init= "getIncomeSource()" ng-controller="IncomeSourcesController" id="homejumbotron">
<table>
<thead>
<th>Name of the Employer</th>
<th>Income From Salary</th>
<th>TDS Deducted</th>
<th></th>
</thead>
<tbody>
<tr ng-repeat="x in incomesources" >
<td>{{x.company_name}}</td>
<td>{{x.user_income}}</td>
<td>{{x.tax_deducted_salary}}</td>
</tbody>
JS
var app = angular.module('accountantApp', []);
app.controller('IncomeSourcesController', function($scope,$http) {
console.log("inside homecontroller:::");
$scope.getIncomeSource = function(){
$scope.user = "";
console.log("Inside getPersonalInfo::::::");
$http({
method : 'POST',
url : '../model/incomesources.php',
headers : {
'Content-Type': 'application/json'
},
data : {"action": "GetIncomeSources"}
})
.success(function( data,status, headers) {
console.log("Response data:"+ JSON.stringify(data));
if (data.success != undefined && data.success != '')
{
$scope.user = data;
}
})
.error(function(data, status, headers) {
alert("Error occured while retrieving:"+status);
console.log("Error data::::"+ data);
console.log("status::::"+ status);
});
};
});
incomesources.php
function getIncomeSources()
{
session_start();
$userInfo = $_SESSION['USER'];
$userEmailid= $userInfo-> getEmailid();
$res="SELECT * FROM user_salary_details WHERE email ='$userEmailid'";
$result=mysql_query($res);
if ($row = mysql_fetch_assoc($result))
{
$companyname = $row["company_name"];
$userincome = $row["user_income"];
$employetype = $row["employe_type"];
$tan = $row["tan_employer"];
$tax = $row["tax_deducted_salary"];
$address = $row["address"];
$state = $row["state"];
$city=$row["city"];
$pin=$row["pincode"];
$data = array(
"success" => "success",
"companyname" => $companyname,
"userincome" => $userincome,
"employetype" => $employetype,
"tan" => $tan,
"tax" => $tax,
"address" => $address,
"state" => $state,
"city" =>$city,
"pin"=>$pin,
);
echo json_encode($data);
}else{
echo "No record exists for this user::";
}
}
答案 0 :(得分:0)
你的incomesources.php最初是否有效?
select语句中的WHERE子句正在查找email ='$ userEmailid'
我想你想要$ userEmailid的内容。所以尝试改为
$res="SELECT * FROM user_salary_details WHERE email ='". $userEmailid ."'";
修改强> 由于您的php文件正常工作,并且您在上面的注释中提到您可以在控制台中看到返回值,让我们看看您的html和js代码。
在你的HTML中请转到
<tr ng-repeat="x in user" >
<td>{{x.companyname}}</td>
<td>{{x.userincome}}</td>
<td>{{x.tax}}</td>
{{x.something}}中的属性基于php返回属性,而不是数据库列名。
在你的js文件中,尝试初始化$ scope.getIncomeSource函数外的$ scope.user并将其作为数组初始化。例如
console.log("inside homecontroller:::");
$scope.user = []; // this
$scope.getIncomeSource = function(){
console.log("Inside getPersonalInfo::::::");
$http({
希望这个帮助