axios 无法将具有axious的数组列表从vuews发布到.net Core

ffvjumwh  于 2022-11-05  发布在  iOS
关注(0)|答案(3)|浏览(172)

我在vuejs中工作,以.net核心作为后端。当我用axios发布单个数组时,它会被发布,但当我尝试发布数组列表时,它在服务器端总是0。尝试了许多方法,但没有任何帮助。这是我的客户端代码。

let listOfRights=  [{ RouteName: "Rname", UserName: "Uname" }, { RouteName: "Rname1", UserName: "Uname1" }]
axios.request({
  method: 'POST',
          url: `/api/UserManager/saveUserRights`,
          headers: {
            'Content-Type': 'application/x-www-form-urlencoded'
          },
          params:listOfRights,

        }).then(response => response.data).then(
          res => {
            debugger;
          });

这是我的服务器端代码

[Authorize]
        public IActionResult saveUserRights(List<MenuRights> listOfRights)
        {

            try
            {
                // further code
            }
            catch (Exception ex)
            {

                throw ex;
            }

            return Ok();
        }

但在服务器端它总是得到0条记录。
当我发布一条记录时,例如在客户端,我将参数从params:listOfRights,更改为params:listOfRights[0],,在服务器端,将参数从public IActionResult saveUserRights(List<MenuRights> listOfRights)更改为public IActionResult saveUserRights(MenuRights listOfRights),然后它会被发布。但我想发布列表。这是不会被发布。谢谢
Image attached for first and second call and network posted tab as well

cbeh67ev

cbeh67ev1#

您能否验证以下代码:

let listOfRights= [
  { RouteName: "Rname", UserName: "Uname" }, 
  { RouteName: "Rname1", UserName: "Uname1" }
]

let url = '/api/UserManager/saveUserRights'

let headers = {
  'Content-Type': 'application/x-www-form-urlencoded'
}

axios.post(url, listOfRights, headers).then((response) => {
  console.log(response)
}, (error) => {
  console.log('EROR:', error)
})

并检查控制台。记录它返回的内容。
您也可以在服务器端程式码上放置中断点,以查看它是否传递正确的数据。

vecaoik1

vecaoik12#

通过在API方法public IActionResult saveUserRights([FromBody]List<SystemMenuRights> listOfRights)中添加[FromBody]标记进行修复,现在也接受列表。

8aqjt8rx

8aqjt8rx3#

这个对我很管用你可以试试这个

axios({
    method: 'post',
    url: '/api/customersfilter',
    data: {
      min_number: this.min_number,
      equal_num: this.equal_num,
      max_number: this.max_number,
    }
  })

相关问题