首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ng- smart-table使用"POST“代替"GET”进行分页如何在body中添加额外参数

ng- smart-table使用"POST“代替"GET”进行分页如何在body中添加额外参数
EN

Stack Overflow用户
提问于 2019-08-05 15:12:00
回答 1查看 229关注 0票数 0

我已经检查了分页实现的文档和源代码(advanced-example-server.component.ts)。发现它使用的ServerDataSource只通过HTTP GET实现了分页(URL中暴露的_sort、_limit、_page等参数).....由于我目前的项目需要使用POST将前端参数发送到使用扩展到HTTP post调用实现的后端Restful API,所以我不知道如何在分页请求中添加额外的参数。我需要将request_server传递给extendsplugin.ts

extendsplugin.ts

代码语言:javascript
复制
import { Observable } from 'rxjs/internal/Observable';
import { ServerDataSource } from 'ng2-smart-table';

    export class PostServerDataSource extends ServerDataSource {

        protected requestElements(): Observable<any> {
            let httpParams = this.createRequesParams();
            return this.http.post(this.conf.endPoint, request_server, { observe: 'response' });
        }

    }

anotherComponent.ts

代码语言:javascript
复制
swiftListTable() {
    const request_server = JSON.stringify({ "userType": this.currentUser.role, "authName": this.currentUser.username })
    this.source = new PostServerDataSource(this.http,{endPoint: this.service.apiURL + 'swift/pagination', dataKey: 'content', pagerLimitKey:"_limit",
    pagerPageKey:"_page",
    sortDirKey: "pageable",
    sortFieldKey: "pageable",
    totalKey:'totalElements'});
  }
EN

回答 1

Stack Overflow用户

发布于 2019-08-05 15:59:35

如果您想发送POST请求,您的请求主体可以包含一个JSON对象,该对象具有任意多个属性。因此,您只需要在createRequestParams()方法中添加额外的参数并返回它们。另请参阅Official Angular Guide,以更好地了解Angular的HttpClient如何处理POST请求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57353747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档