Angular 使用Get而不是Post创建数据表

Angular 使用Get而不是Post创建数据表,angular,datatables,angular-datatables,Angular,Datatables,Angular Datatables,文档显示使用HTTPPOST获取角度数据表的数据,但我更喜欢使用get。这可能吗?我没有找到任何示例,更改为.get并删除第三个参数会导致页面完全无法加载 文件样本: import { Component, OnInit } from '@angular/core'; import { HttpClient, HttpResponse } from '@angular/common/http'; class Person { id: number; firstName: string;

文档显示使用HTTPPOST获取角度数据表的数据,但我更喜欢使用get。这可能吗?我没有找到任何示例,更改为.get并删除第三个参数会导致页面完全无法加载

文件样本:

import { Component, OnInit } from '@angular/core';
import { HttpClient, HttpResponse } from '@angular/common/http';

class Person {
  id: number;
  firstName: string;
  lastName: string;
}

class DataTablesResponse {
  data: any[];
  draw: number;
  recordsFiltered: number;
  recordsTotal: number;
}

@Component({
  selector: 'app-server-side-angular-way',
  templateUrl: 'server-side-angular-way.component.html',
  styleUrls: ['server-side-angular-way.component.css']
})
export class ServerSideAngularWayComponent implements OnInit {
  dtOptions: DataTables.Settings = {};
  persons: Person[];

  constructor(private http: HttpClient) {}

  ngOnInit(): void {
    const that = this;

    this.dtOptions = {
      pagingType: 'full_numbers',
      pageLength: 2,
      serverSide: true,
      processing: true,
      ajax: (dataTablesParameters: any, callback) => {
        that.http
          .post<DataTablesResponse>(
            'https://angular-datatables-demo-server.herokuapp.com/',
            dataTablesParameters, {}
          ).subscribe(resp => {
            that.persons = resp.data;

            callback({
              recordsTotal: resp.recordsTotal,
              recordsFiltered: resp.recordsFiltered,
              data: []
            });
          });
      },
      columns: [{ data: 'id' }, { data: 'firstName' }, { data: 'lastName' }]
    };
  }
}
从'@angular/core'导入{Component,OnInit};
从'@angular/common/http'导入{HttpClient,HttpResponse};
班主任{
id:编号;
名字:字符串;
lastName:string;
}
类DataTablesResponse{
数据:任何[];
抽签:编号;
过滤记录:编号;
记录总数:数字;
}
@组成部分({
选择器:“应用服务器端角度方式”,
templateUrl:'server-side-angular-way.component.html',
styleUrls:['server-side-angular-way.component.css']
})
导出类ServerSideAngularWayComponent实现OnInit{
dtOptions:DataTables.Settings={};
人:人[];;
构造函数(私有http:HttpClient){}
ngOnInit():void{
常数=this;
此.dtOptions={
pagingType:“完整编号”,
页长:2,
服务器端:是的,
处理:对,
ajax:(dataTablesParameters:any,callback)=>{
那是http
.邮政(
'https://angular-datatables-demo-server.herokuapp.com/',
dataTablesParameters,{}
).订阅(resp=>{
即:人员=相应数据;
回拨({
recordsTotal:resp.recordsTotal,
过滤记录:分别过滤记录,
数据:[]
});
});
},
列:[{data:'id'},{data:'firstName'},{data:'lastName'}]
};
}
}
  • 你为什么用闭包?您没有任何范围问题

  • 这是一个演示服务器,他们可能只是犯了一个错误

  • 在尝试将URL粘贴到我的浏览器中后,我获得了数据,因此是的,您可以发出GET请求


  • 我正试图了解这一点,所以不确定关闭在哪里,没有看到这一点。这正是他们告诉你在他们的网站上使用的代码。它对我来说是一个帖子,但不是一个get。此代码是否错误?
    var that=this
    → 你不需要这一行,你不会因为声明一个对象而失去你的
    这个
    上下文。这个请求也适用于Postman FYI@ConnieDeCinko。请大家,有一些常识和评论当你否决投票。