Home Angular7 How to show data in Angular 7 datatables with laravel Rest API?

How to show data in Angular 7 datatables with laravel Rest API?

by therichpost
2 comments
angular7

Hello to all, welcome to therichpost.com. In this post, I will tell you, How to show data in Angular 7 datatables with laravel Rest API?

Guys, you can find many posts related to Laravel 5.7 and Angular 7 on my blog.

Here is the workingpicture:

 

How to show data in Angular 7 datatables with laravel Rest API?

 

Here are the working and tested code need to follow:

 

1. Very first, you need to run below commands to set  Angular 7 application:

Install latest Angular 7 version on your machine:

$ npm install -g @angular/cli 
$ ng new angulardatatables //Install Angular Project
$ cd angulardatatables // Go to project folder
$ ng serve //Run Project
http://localhost:4200/ //Run On local server

 

2. After it run below commands to add datatable and bootstrap into Angular Application:

This will install fresh datatables, bootstrap versions also:

npm install jquery --save
npm install datatables.net --save
npm install datatables.net-dt --save
npm install angular-datatables --save
npm install @types/jquery --save-dev
npm install @types/datatables.net --save-dev
$ npm install ngx-bootstrap bootstrap --save

 

3. Now add below code into your angular.json file:

Will add bootstrap and datatables libraries on your project:

...
"styles": [
              "src/styles.css",
              "node_modules/datatables.net-dt/css/jquery.dataTables.css",
              "node_modules/bootstrap/dist/css/bootstrap.min.css",
            ],
            "scripts": [
            "node_modules/jquery/dist/jquery.js",
            "node_modules/datatables.net/js/jquery.dataTables.js",
            "node_modules/bootstrap/dist/js/bootstrap.js",
            ]
...

 

4. Now add below code into your app.module.ts file:

Add datatables and httpclient api modules:

import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';
import { HttpClientModule } from '@angular/common/http';
import {DataTablesModule} from 'angular-datatables';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    HttpClientModule,
    DataTablesModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

 

5. Now add below code into your app.component.ts file:

Execute datatable and get data for datatables from laravel rest api:

import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  data = [];
  title = 'angulardatatables';
  constructor(private http: HttpClient) {
  this.http.get('http://localhost/blog/public/api/sample-restful-apis').subscribe(data => {
    this.data.push(data);
    //console.log(this.data);

    }, error => console.error(error));
  }
  dtOptions: DataTables.Settings = {};
  ngOnInit() {

    this.dtOptions = {
      pagingType: 'full_numbers',
      pageLength: 5,
      processing: true
    };
}
}

 

6. Now add below code into your app.component.html file:

Will give final output:

<table class="table table-striped table-bordered table-sm row-border hover" datatable [dtOptions]="dtOptions">
  <thead>
    <tr>
      <th>Name</th>
      <th>Domain</th>
    </tr>
  </thead>
  <tbody>
   <tr *ngFor="let group of data">
         <td>{{group.name}}</td>
         <td>{{group.domain}}</td>
     </tr>
  </tbody>
</table>

 

7. Now you need to add below code into your laravel project routes/api.php file:

This laravel api file code which Sends data to Angular 7 app:

Route::get('sample-restful-apis', function()
{
return response()->json([
'name' => 'test',
'domain' => 'test.com'
]);
});

If you have any query related to this post, then please do comment below or ask question.

Notes: My main purpose is, share the code and help other and feel happy. I know my blog users are from around the world but I am an Indian my english is simple and some guys make fun of my english but anyways just enjoy the code.

Happy Coding,

Thank you,

Jatt Nation,

TheRichPost

You may also like

2 comments

mahsa February 19, 2019 - 12:00 pm

thank u! it was so helpful 🙂

Reply
Ajay Malhotra February 19, 2019 - 3:02 pm

Thank you and happy, it helped you..

Reply

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.