我无法通过角度(2+)找到最佳实践方法的指导。 Angular的HttpClient post function具有HttpParams参数。 HttpParams是[param: string]: string | string[]
类型的键/值映射。但是,我需要发布一个多维数组(2D)参数(string[][]
)。即。
this.http.post(url, {}, {
params: {
2d: [ [ 'arr1' ], [ 'arr2' ] ]
}
});
但这似乎并没有受到角度的HttpParams类的支持。在搜索其他问题时,我发现了
this is possible in angularJS使用角度使用的相同Content-Type
(application/x-www-form-urlencoded
)。
this is possible without a framework in vanilla js,但您必须在客户端编码多维数组
我想知道是否有一种干净的方式来做角度的。如果没有,为什么有角度做出这个设计决定,什么是变通方法?
答案 0 :(得分:1)
你能把它作为json数组发送吗?
let data= [
["string1","string2"],
["string3", "string4"]
];
let body= {
content: data
};
this.http.post(url, body)
答案 1 :(得分:0)
感谢@ Jota.Toledo,@ David和"Is there any difference between using request.body or request.params", 上的这个问题,我的主要误解是试图将HttpParams用于所有事情并忽略请求体。解决我的问题的最佳方法是简单地在请求正文中传递多维数组。
这是"最佳实践"方式有几个原因