我正在通过axios.post请求将模型发送到后端服务器。都好。但是,我很难发送这些ViewModel的数组。
这是我到目前为止所掌握的。
我的axios方法:
createMusicList() {
const { playlist } = this.state;
let model = {Name: "PlayListOne",
Tracks: ["test1", "test2"]}
console.log(playlist);
console.log(model);
axios({
url: 'http://localhost:60231/api/values',
method: 'post',
headers: {'content-type' : 'application.json'},
params: model
})
.then(function (response){
console.log(response.data)
})
.catch(function (error){
console.log(error);
});
}
这是我后端的ViewModel:
public class PlaylistModel
{
public string[] Tracks { get; set; }
public string Name { get; set; }
}
这是我后端的ActionMethod:
[HttpPost]
public void Post(PlaylistModel result)
{
Console.WriteLine();
}
这也是继续传递数组的正确方法吗?如果要传递具有这些属性的多个对象,是否应该在我的TypeModel的ViewModel中使用所有属性?
编辑:我出于简化和测试目的更改了代码。如果我将“模型”发送到后端,则会映射“名称”属性,但是,字符串数组不是-它返回类似{string [0]}
的内容答案 0 :(得分:0)
最后知道了!
axios({
url: 'http://localhost:60231/api/values',
method: 'post',
data: qs.stringify(model),
})
在模型上使用“ qs.stringify”,并将“数据”用作键。如果是参数,则数据将作为查询字符串发送。