Javascript 无法使用PHP获取JSON数据&;角JS
我正在传递ID以使用Angular JS获取JSON编码数据 这是我的控制器:Javascript 无法使用PHP获取JSON数据&;角JS,javascript,php,angularjs,Javascript,Php,Angularjs,我正在传递ID以使用Angular JS获取JSON编码数据 这是我的控制器: dhmsApp.controller('dhmsDetailsView',function($scope,$http, $routeParams){ $http.get("include/detailViewBg.php", {params: {id: $routeParams.id}}) .success(function (response) {$scope.details =
dhmsApp.controller('dhmsDetailsView',function($scope,$http, $routeParams){
$http.get("include/detailViewBg.php", {params: {id: $routeParams.id}})
.success(function (response) {$scope.details = response});
});
下面是我的PHP SELECT查询代码(detailViewBg.PHP),JSON是从该代码中编码的
<?php
include("../include/connection_string.php");
$id = $_GET['id'];
$sql = mysqli_query($db, "SELECT * FROM dhms_requirement where id='".$id."'");
if(mysqli_num_rows($sql)){
$data = array();
while($row = mysqli_fetch_array($sql)){
$data[] = array(
'id' => $row['id'],
'rClientName' => $row['rClientName'],
'rContactNumber' => $row['rContactNumber'],
'rCompanyName' => $row['rCompanyName'],
'rEmail' => $row['rEmail'],
'rRequirement' => $row['rRequirement'],
);
}
header('Content-type: application/json');
echo json_encode($data);
}
$sqlDomain = mysqli_query($db, "SELECT * FROM dhms_domain_details where id='".$id."'");
if(mysqli_num_rows($sqlDomain)){
$dataDomain = array();
while($rowDomain = mysqli_fetch_array($sqlDomain)){
$dataDomain[] = array(
'id' => $rowDomain['id'],
'dSelectDomain' => $rowDomain['dSelectDomain'],
'dDomainName' => $rowDomain['dDomainName'],
'dRegisterDomainFrom' => $rowDomain['dRegisterDomainFrom'],
'dStartDate' => $rowDomain['dStartDate'],
'dEndDate' => $rowDomain['dEndDate'],
'dRegistrationFor' => $rowDomain['dRegistrationFor'],
);
}
header('Content-type: application/json');
echo json_encode($dataDomain);
}
?>
这是我提取数据的HTML页面
<div class="panel-body" ng-repeat="u in details track by $index">
<div class="col-lg-6">
<ul class="list-group">
<li class="list-group-item"><strong>Req. NO.</strong> : {{u.id}}</li>
<li class="list-group-item"><strong>Contact Number</strong> : {{u.rContactNumber}}</li>
<li class="list-group-item"><strong>Email Address</strong> : {{u.rEmail}}</li>
</ul>
</div>
<div class="col-lg-6">
<ul class="list-group">
<li class="list-group-item"><strong>Client Name</strong> : {{u.rClientName}}</li>
<li class="list-group-item"><strong>Compnay Name</strong> : {{u.rCompanyName}}</li>
<li class="list-group-item"><strong>Requirement</strong> : {{u.rRequirement}}</li>
</ul>
</div>
</div>
<div class="panel-body" ng-repeat="u in details track by $index">
<div class="col-lg-6">
<ul class="list-group">
<li class="list-group-item"><strong>Req. NO.</strong> : {{u.dSelectDomain}}</li>
<li class="list-group-item"><strong>dDomainName</strong> : {{u.dDomainName}}</li>
<li class="list-group-item"><strong>dRegisterDomainFrom</strong> : {{u.dRegisterDomainFrom}}</li>
</ul>
</div>
<div class="col-lg-6">
<ul class="list-group">
<li class="list-group-item"><strong>dStartDate</strong> : {{u.dStartDate}}</li>
<li class="list-group-item"><strong>dEndDate</strong> : {{u.dEndDate}}</li>
<li class="list-group-item"><strong>dRegistrationFor</strong> : {{u.dRegistrationFor}}</li>
</ul>
</div>
</div>
- 请求。编号:{{u.id}
- 联系电话:{{u.rContactNumber}
电子邮件地址:{{u.rEmail}
- 客户端名称:{{u.rClientName}
- 公司名称:{{u.rCompanyName}
- 要求:{{u.R要求}
- 请求。编号:{{u.dSelectDomain}
- dDomainName:{{u.dDomainName}
- dRegisterDomainFrom:{{u.dRegisterDomainFrom}
- dStartDate:{{u.dStartDate}
- dEndDate:{{u.dEndDate}
- dRegistrationFor:{{u.dRegistrationFor}
它在控制台中显示一个错误。请参见下图
您两次回显了json数据,因此您的响应数据是无效的json
<?php
include("../include/connection_string.php");
$id = $_GET['id'];
$result = [];
$sql = mysqli_query($db, "SELECT * FROM dhms_requirement where id='".$id."'");
if(mysqli_num_rows($sql)){
$data = array();
while($row = mysqli_fetch_array($sql)){
$data[] = array(
'id' => $row['id'],
'rClientName' => $row['rClientName'],
'rContactNumber' => $row['rContactNumber'],
'rCompanyName' => $row['rCompanyName'],
'rEmail' => $row['rEmail'],
'rRequirement' => $row['rRequirement'],
);
}
//header('Content-type: application/json');
//echo json_encode($data);
//Instead of echo data here, just put it into $result array
$result['requirement_detail'] = $data;
}
$sqlDomain = mysqli_query($db, "SELECT * FROM dhms_domain_details where id='".$id."'");
if(mysqli_num_rows($sqlDomain)){
$dataDomain = array();
while($rowDomain = mysqli_fetch_array($sqlDomain)){
$dataDomain[] = array(
'id' => $rowDomain['id'],
'dSelectDomain' => $rowDomain['dSelectDomain'],
'dDomainName' => $rowDomain['dDomainName'],
'dRegisterDomainFrom' => $rowDomain['dRegisterDomainFrom'],
'dStartDate' => $rowDomain['dStartDate'],
'dEndDate' => $rowDomain['dEndDate'],
'dRegistrationFor' => $rowDomain['dRegistrationFor'],
);
}
//header('Content-type: application/json');
//echo json_encode($dataDomain);
//Put this $dataDomain into $result array also.
$result['domain_data'] = $dataDomain;
}
//Echo json data finally.
header('Content-type: application/json');
echo json_encode($result);
?>
并更新您的html部分
<!--<div class="panel-body" ng-repeat="u in details track by $index">-->
<!-- Careful the details.requirement_detail -->
<div class="panel-body" ng-repeat="u in details.requirement_detail track by $index">
<div class="col-lg-6">
<ul class="list-group">
<li class="list-group-item"><strong>Req. NO.</strong> : {{u.id}}</li>
<li class="list-group-item"><strong>Contact Number</strong> : {{u.rContactNumber}}</li>
<li class="list-group-item"><strong>Email Address</strong> : {{u.rEmail}}</li>
</ul>
</div>
<div class="col-lg-6">
<ul class="list-group">
<li class="list-group-item"><strong>Client Name</strong> : {{u.rClientName}}</li>
<li class="list-group-item"><strong>Compnay Name</strong> : {{u.rCompanyName}}</li>
<li class="list-group-item"><strong>Requirement</strong> : {{u.rRequirement}}</li>
</ul>
</div>
</div>
<!--<div class="panel-body" ng-repeat="u in details track by $index">-->
<!-- Careful the details.domain_data-->
<div class="panel-body" ng-repeat="u in details.domain_data track by $index">
<div class="col-lg-6">
<ul class="list-group">
<li class="list-group-item"><strong>Req. NO.</strong> : {{u.dSelectDomain}}</li>
<li class="list-group-item"><strong>dDomainName</strong> : {{u.dDomainName}}</li>
<li class="list-group-item"><strong>dRegisterDomainFrom</strong> : {{u.dRegisterDomainFrom}}</li>
</ul>
</div>
<div class="col-lg-6">
<ul class="list-group">
<li class="list-group-item"><strong>dStartDate</strong> : {{u.dStartDate}}</li>
<li class="list-group-item"><strong>dEndDate</strong> : {{u.dEndDate}}</li>
<li class="list-group-item"><strong>dRegistrationFor</strong> : {{u.dRegistrationFor}}</li>
</ul>
</div>
</div>
- 请求。编号:{{u.id}
- 联系电话:{{u.rContactNumber}
电子邮件地址:{{u.rEmail}
- 客户端名称:{{u.rClientName}
- 公司名称:{{u.rCompanyName}
- 要求:{{u.R要求}
- 请求。编号:{{u.dSelectDomain}
- dDomainName:{{u.dDomainName}
- dRegisterDomainFrom:{{u.dRegisterDomainFrom}
- dStartDate:{{u.dStartDate}
- dEndDate:{{u.dEndDate}
- dRegistrationFor:{{u.dRegistrationFor}
为什么要这样做?
echo json_encode($data)代码>在<代码>之后,从dhms\U要求中选择*
然后,再一次
echo json_encode($dataDomain)代码>在从dhms\u域\u详细信息中选择*
因此,您的响应数据应该如下所示:
[…][…]
这是无效的json数据,正如您在控制台中看到的错误
$result
数组中,因此您的响应数据如下所示:
{“需求详细信息”:[…],“域数据”:[…]}
detail.requirement\u detail
,第二部分使用domain\u data
应该可以工作。你能检查我提取数据的html部分吗。。实际上,当我添加您的解决方案时,控制台中的错误消失了,但数据并没有打印到html部分。你能检查一下我的代码在哪里吗?在我的问题中,我添加了HTML。请在问题中检查。谢谢你这么多朋友的大力支持。。它对我有用。。。我可以在我的html文件中看到数据。。。