Json Angular 4-http.post不接收对象列表

Json Angular 4-http.post不接收对象列表,json,angular,http,ionic3,Json,Angular,Http,Ionic3,我想发出一个http.post请求,用.subscribe从PHP接收对象列表 当我这样做时,我会收到类似字符串的东西,其中包含我的对象。 但是在*ngFor循环中,控制台告诉我列表是一个未定义的变量。 这是我的密码: list-master.ts 下面是getprojets.php: 然后是list-master.html: 在.html文件中,我将var tempproj替换为在.ts文件中设置的var objs,而不是来自*ngFor中的PHP,一切正常 为什么PHP中的对象列表是未定义的

我想发出一个http.post请求,用.subscribe从PHP接收对象列表

当我这样做时,我会收到类似字符串的东西,其中包含我的对象。 但是在*ngFor循环中,控制台告诉我列表是一个未定义的变量。 这是我的密码:

list-master.ts

下面是getprojets.php:

然后是list-master.html:

在.html文件中,我将var tempproj替换为在.ts文件中设置的var objs,而不是来自*ngFor中的PHP,一切正常

为什么PHP中的对象列表是未定义的? 在tempproj行的*ngFor=let appart上,“appart”可以是对象吗? 请帮助我,我只找到JavaScript和Angular 2的解决方案。我在上面写了5天。

这里的问题是,在模板呈现时,tempproj对象未定义

也许您可以尝试将其初始化为空数组

let tempproj: Array<any> = [];

constructor(public navCtrl: NavController, private navParams: NavParams, public http: Http) {

    ....

定义你的“temproj”。as array const tempproj:array=[];谢谢你的回答。通过在构造函数:tempproj:Array=[]之前写入此命令;我有一个新的错误,这一个:ListMasterPage.html:23错误:尝试区分“[{ville:Reims,photo:http:*****.jpg},{ville:Paris,photo:http:*****.jpg},{ville:Amsterdam,photo:http:*****.jpg}]”的错误。只允许使用数组和iterables,这似乎更好,但总是不起作用。我不理解错误日志。当我在变量名之前写入let时,它会突出显示。不是我在构造函数中编写它的时候,而是在编译之后,它不会工作得更好。你能创建一个git存储库并与我们共享吗?我不知道git是如何工作的,它是文件云吗?是否与我的计算机上的文件夹同步?我尝试注册,然后添加一个新的存储库,等等。。当我在这里=>我必须做什么?如何向其中添加文件?GitHub桌面表示我无法发布未出生的分支…=>这是什么意思?谢谢你的帮助;经过一些搜索,我可以给你这个我在git上的存储库的URL,我想。。。。这是你要我写的吗?在尝试了一些编写类型之后,我想我发现了真正的问题:当我多次重新加载虚拟设备的页面时,我的代码工作得很好,但只有几次接近1或2次。似乎HTML代码和TS之间的加载时间有问题,我想是这样的你觉得怎么样?如果我是对的,我怎样才能修复它?
$postdata = file_get_contents("php://input");
    if (isset($postdata)) {
        $request = json_decode($postdata);
        $value = $request->value;

        if ($value === 'true' ) {
            $bdd = new PDO('***', '***', '***', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
            $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);

            $query = $bdd->prepare("SELECT * FROM projetsapparts") or die('Login invalide');
            $query->execute();
            $liste = array();
            class projet1 {};


 while ($projet = $query->fetch()) {
            $projet1 = new projet1;
            $projet1->ville = $projet['ville'];
            $projet1->photo = $projet['photo'];
            $liste[] = $projet1;
        }
        echo json_encode($liste);
    }
}
else {
    echo 'Erreur postdata';
}
  <ion-slides class="marketslide" autoplay="3000" loop="true">
    <ion-slide *ngFor="let appart of tempproj">
      <ion-card (tap)="showplvdetails()">
        <img src="{{appart.photo}}">
        <div class="card-title">{{appart.ville}}</div>
      </ion-card>
    </ion-slide>
  </ion-slides> 
Cannot read property 'hasAttribute' of undefined
let tempproj: Array<any> = [];

constructor(public navCtrl: NavController, private navParams: NavParams, public http: Http) {

    ....