Est-ce que quelqu'un sait comment charger les données du serveur à partir du plugin ng2-smart table d'Angular2.Angulaire 2: chargement de données à l'aide de la source de données du serveur dans ma table intelligente ng
J'ai peu de données sur les produits qui sont récupérées à partir de l'API Node et je peux afficher le même événement onClick dans le journal du navigateur.
Je dois montrer la même chose dans ce domaine de la table 3 plugins du parti qu'ils ont fourni dans cette documentation ci-dessous:
Frontend:https://akveo.github.io/ng2-smart-table/#/examples/populate-from-server
Sous "Serveur source de données Exemple"
Par conséquent j'ai configuré dans mon code comme ci-dessous:
blanc-page.component.ts
import { ServerDataSource } from 'ng2-smart-table';
import { Component } from '@angular/core';
import { Http } from '@angular/http';
@Component({
selector: 'advanced-example-server',
template: `
<ng2-smart-table [settings]="settings" [source]="source"></ng2-smart-table>
`,
})
export class BlankPageComponent implements OnInit {
settings = {
columns: {
id: {
title: 'ID',
},
albumId: {
title: 'Album',
},
title: {
title: 'Title',
},
url: {
title: 'Url',
},
},
};
source: ServerDataSource;
//Doubt or Problem here!!!
constructor(http: Http) {
this.source = new ServerDataSource(http, { endPoint: 'https://jsonplaceholder.typicode.com/photos' });
}
//Tried like this too (Which is not the right way of calling)
constructor(http: Http) {
this.source = new ServerDataSource(http, { endPoint: this.productService.getProductsOncategory(this.categoryid) });
}
//Dint work this too!!
constructor(http: Http) {
this.source = new ServerDataSource(http, { endPoint:'http://localhost:5000/products/getProductsOncategory ' });
}
}
Si mon fichier service.ts est comme, qui affiche réellement les données produits dans mon journal du navigateur que je dois montrer dans mes données de la table
getProductsOncategory(category_id){
let catUrl="http://localhost:5000/products/getProductsOncategory"
let headers = new Headers();
headers.append('Content-Type','application/json');
let catIdObj = JSON.stringify({category_id:category_id})
console.log(catIdObj)
return this.http.post(catUrl,catIdObj,{headers:headers})
.map((response:Response)=>response.json())
.do(data=>console.log(JSON.stringify(data)))
.catch(this.handleError);
}
erreur si j'utiliser mes projets url dans endpoint
Error: Uncaught (in promise): Error: Data must be an array. Please check that data extracted from the server response by the key '' exists and is array.