【发布时间】:2018-08-31 02:18:58
【问题描述】:
我在 a-grid 中使用 Infinity 滚动模型,现在我想发送带有几个参数的 http get 请求,如下所示 https://tryoper/_dc=1521659863545&page=1&start=0&end=50&sort=%5B%7B%22property%22%3A%22Number%22%2C%22direction%22%3A%22DESC%22%7D%5D
“page”&“start”&“end”&“sort”&“Number”&“DESC”都是参数。
我的http请求代码如下,我使用json占位符来运行json文件作为服务器
onGridReady(params) {
params.api.sizeColumnsToFit();
this.gridApi = params.api;
this.gridColumnApi = params.columnApi;
let URL = 'http://localhost:3000/employees';
let myHeaders = new Headers();
myHeaders.set('Content-Type', 'application/json');
let myParams = new URLSearchParams()
myParams.set('sort', params.sortModel);
myParams.set('filter', params.filterModel);
let options = new RequestOptions({ headers: myHeaders, params: myParams });
this.http.get(URL, options).subscribe(data => {
console.log(data);
var newData = data.json();
newData.forEach(function (data, index) {
newData.id = "R" + (index + 1);
});
//params.api.setRowData(newData);
var dataSource = {
rowCount: null,
getRows: function (params) {
console.log("asking for " + params.startRow + " to " + params.endRow);
setTimeout(function () {
console.log("sortModel: ", JSON.stringify(params.sortModel));
console.log("filterModel: ", JSON.stringify(params.filterModel));
console.log("--------------------------");
var dataAfterSortingAndFiltering = sortAndFilter(newData, params.sortModel, params.filterModel);
var rowsThisPage = dataAfterSortingAndFiltering.slice(params.startRow, params.endRow);
var lastRow = -1;
if (dataAfterSortingAndFiltering.length <= params.endRow) {
lastRow = dataAfterSortingAndFiltering.length;
}
params.successCallback(rowsThisPage, lastRow);
}, 500);
}
};
params.api.setDatasource(dataSource);
});
/* this.http
.get('assets/db.json')
.subscribe(data => {
console.log(data);
var newData = data.json();
newData.forEach(function (data, index) {
newData.id = "R" + (index + 1);
});
//params.api.setRowData(newData);
var dataSource = {
rowCount: null,
getRows: function (params) {
console.log("asking for " + params.startRow + " to " + params.endRow);
setTimeout(function () {
//var str=JSON.stringify(params.sortModel);
//console.log("sortModel: ", JSON.stringify(params.sortModel));
//var try2=params.sortModel;
//var try3 = try2[0];
//console.log("try3", try3);
//console.log("try3.colId",try3.sort);
//console.log("filterModel: ", JSON.stringify(params.filterModel));
//console.log(params.filterModel);
//console.log("--------------------------");
var dataAfterSortingAndFiltering = sortAndFilter(newData, params.sortModel, params.filterModel);
var rowsThisPage = dataAfterSortingAndFiltering.slice(params.startRow, params.endRow);
var lastRow = -1;
if (dataAfterSortingAndFiltering.length <= params.endRow) {
lastRow = dataAfterSortingAndFiltering.length;
}
params.successCallback(rowsThisPage, lastRow);
}, 500);
}
};
params.api.setDatasource(dataSource);
});
*/
}
}
第一个http.get不能工作(没有错误,可以加载数据,但不能提供排序和过滤),但是第二个,没有参数的可以排序和过滤。我想在开发工具的网络中查看 http.get 请求 url,我现在什么都看不到。有没有人知道如何解决它?谢谢你。我可以在控制台中得到这个结果
【问题讨论】:
标签: angular http observable http-get ag-grid