我们使用POST方法来获取数据,因为我必须将复杂的过滤器作为对象发送到体内。
这是我的情况。 端点用json对象响应,在邮递员中它返回所有这样的数据
{
filters: {...},
supplements: [{...}, {...}],
total: 2
}
所以,这里一切都很好。具有三个属性:筛选器-复杂对象,补充-具有结果对象的数组,总计-由于对结果进行分页而需要的结果数。
无论如何,如果我通过angular common / http触发完全相同的请求,则一切相同,但补充数组会像这样
并且在控制台中记录了结果的文本版本
{
filter: {…},
supplements: [],
total: 2
}
共有2条结果,但数组为空?!
这是我获得这些结果的服务
getAll(keyword: string, page: number, size: number, body: object = {}) {
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json;charset=UTF-8',
})
};
return this.http.post(
this.url + `/supplements?keyword=${keyword}&page=${page}&size=${size}`,
body,
httpOptions
).subscribe(
searchResults => {
// Get relevant search results data
console.log('results', searchResults);
console.log('Total', searchResults['supplements'].length); // This gives 0
});
在邮递员中,它也是'Content-Type':'application / json',主体是{}。我还试图对身体进行梳理,没有任何改变。
有什么主意吗?