कृपया ध्यान दें कि उसी त्रुटि के बारे में अन्य प्रश्नों ने मदद नहीं की क्योंकि मैं डेटा प्राप्त करने के लिए अलग तरीके का उपयोग कर रहा हूं।

मैं एपीआई से JSON डेटा प्राप्त करना चाहता हूं और उन्हें कोणीय का उपयोग करके पृष्ठ में दिखाना चाहता हूं। मेरे जेसन डेटा में faqlist में faq की सरणी शामिल है। मैं सरणी के प्रत्येक तत्व से शीर्षक और आईडी प्राप्त करना चाहता हूं और उन्हें ngFor का उपयोग करके पृष्ठ में दिखाना चाहता हूं निर्देश।

मैंने एपीआई से डेटा सफलतापूर्वक प्राप्त कर लिया है।

मैं ngFor निर्देश का उपयोग करके इसे बांधने की कोशिश कर रहा हूं लेकिन मुझे निम्न त्रुटि मिल रही है। मुझे कोई सुराग नहीं है कि मैं क्या गलत कर रहा हूं अगर कोई शरीर मेरी मदद कर सकता है जो मददगार होगा। नीचे मेरा कोड और त्रुटि है।

                                  **ERROR**

ERROR JSON डेटा यहां छवि विवरण दर्ज करें

आउटपुट (यह। पूछे जाने वाले प्रश्न) यहां छवि विवरण दर्ज करें

enter image description here

Faq-list.component.ts

import { Component, OnInit } from '@angular/core';
import { Observable } from "rxjs";
import { faqService } from "../faq.service";
import { Faq} from "../faq";
import { Router } from '@angular/router';
import { Token } from '../token';

@Component({
  selector: 'app-faq-list',
  templateUrl: './faq-list.component.html',
  styleUrls: ['./faq-list.component.css']
})
export class faqListComponent implements OnInit {

  token:Token;
  faqq:Observable<Faq[]>;

  constructor(private faqService: faqService,
    private router: Router) {
    }

  ngOnInit() {
    this.reloadData();

  }

  reloadData() {
    this.faqService.getToken()
      .subscribe(res => {
        this.token=new Token(res);

        this.faqService.getfaqList(this.token.access_token)
            .subscribe(res => {
              this.faqq=res.faqList.faq.map((faq:any)=> new Faq(faq));
              console.log(this.faqq);
              debugger;
          })
      })
  }

}

Faq-list.component.html

<div class="panel panel-primary">
    <div class="panel-heading">
      <h2>Faq List</h2>
    </div>
    <div class="panel-body">
      <table class="table table-striped">
        <thead>
          <tr>
            <th>Id :</th>
            <th>Title :</th>
            <th>excerpt :</th>
          </tr>
        </thead>
        <tbody>
          <tr *ngFor="let faq of faqq |async">
            <td>{{faq.id}}</td>
            <td>{{faq.title}}</td>
            <td>{{faq.excerpt}}</td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>

पूछे जाने वाले प्रश्न.सेवा.ts

  getfaqList(token_t:String):Observable<any>{
    let body="";


    let header = new HttpHeaders()
      .set('Access-Control-Allow-Origin', '*')
      .set('Accept','application/json')
      .set('Content-Type', 'application/xml')
      .set('Authorization', 'Bearer ' + token_t);

    return this.http.post('url',body, {headers: header});
  }
0
Raghvendra singh 17 अप्रैल 2020, 05:23

1 उत्तर

सबसे बढ़िया उत्तर

इसे pipe के साथ इस तरह आजमाएं:

reloadData() {
    this.faqService.getToken()
      .subscribe(res => {
        this.token=new Token(res);

        this.faqq = this.faqService.getfaqList(this.token.access_token)
            .pipe(map(res => res.faqList.faq.map((faq: any) => new Faq(faq)) ));
          })
      })
  }

| async पाइप एक Observable की अपेक्षा करता है, जो कि pipe() लौटाता है। अपने मूल कोड में आपने एक सरणी को faqq को असाइन किया है, न कि Observable सरणी के।

0
Benny 17 अप्रैल 2020, 04:03