【发布时间】:2018-01-11 11:38:59
【问题描述】:
我正在使用 PHP 和 Angular(版本 5)从 MySQL 获取数据。我有这个 php 类:
<?php
header('Access-Control-Allow-Origin: *');
require_once("./serverConnection.php");
class affiliatePartner
{
public function getPartners(){
global $conn;
$result = array();
$getPartners = "SELECT partner_name FROM partner";
$execGetPartners = $conn->prepare($getPartners);
$execGetPartners->execute();
$result = $execGetPartners->fetchAll();
return json_encode($result);
}
}
?>
然后我有一个php文件来运行函数:
<?php
require_once('affiliatePartner.php');
$aff = new affiliatePartner;
$result = $aff->getPartners();
echo $result;
?>
我运行文件的时候可以正常看到json数组:
[{"partner_name":"Udemy","0":"Udemy"},{"partner_name":"Nike","0":"Nike"}]
现在在客户端,我添加到 app.module.ts:
import { HttpModule } from '@angular/http';
并将其导入导入:
imports: [
BrowserModule,
ReactiveFormsModule,
HttpModule
],
在组件中:
constructor(private fb: FormBuilder, private http: Http){
this.createForms();
}
ngOnInit(){
this.http.get('http://aff.local/getPartners.php').subscribe(
data =>{
this.results = data['result'];
console.log(this.results);
},
error =>{
console.log('error');
}
)
}
现在在控制台上,我看到Undefined 结果:
那么如何在控制台中显示合作伙伴的名字呢?
编辑
当我记录数据时,我得到了这个:
但我只需要显示:
Udemy
耐克
【问题讨论】:
-
如果你只记录数据,你在控制台的结果是什么?
-
我可以看到一个数组,但我只需要显示:Udemy,Nike。看看我问题末尾的编辑。
-
尝试只记录数据,而不是数据['results']
-
@GianlucaParis 检查编辑
-
是的,我只是做了数据