javascript - Vue.js 路由器查询数组

标签 javascript vuejs2 vue-router

我正在尝试使用 Vue.js 和路由器将数组从查询传递到后端。

所以我有这个方法:

submitForm () {
  this.$router.push({
    name: 'AuctionResult',
    query: {
      models: this.selectedModels.map(e => e.value)
    }
  })
},

结果将是这样的查询:?models=MODEL1&models=MODEL2...但是我怎样才能让输入看起来像数组,像这样:?models[]=MODEL1&models[]=MODEL2... ???

我在文档中没有找到任何东西。

最佳答案

要支持 PHP/数组样式的多值,您可以将键名设置为您想要的,即

query: {
  'models[]': this.selectedModels.map(e => e.value)
}

这可能是
?model%5B%5D=MODEL1&model%5B%5D=MODEL2...

但这很好(它只是 URL 编码的)并且您的服务器端请求处理程序应该正确解码它。

关于javascript - Vue.js 路由器查询数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50692081/

相关文章:

javascript - 获取标记但纬度和经度为空 - vue.js

safari - Vue-Router:$router.go(-1) 在 Safari 中不起作用

javascript - 如何修复 <div> 标签上的 "Warning: Unknown props ` change-background`、 `colorcode`。从元素中删除这些 Prop “错误?

javascript - AngularJS 与 D3.js 的集成

vue.js - 在单元测试中将 Prop 传递给组件

javascript - Vue Dynamic Layouts 两次安装路由器 View 组件

javascript - Vue Router 总是重新加载浏览器 - 丢失 vuex-state

javascript - 保留 Azure 移动服务的自定义 API 调用的用户身份验证

javascript - 使用复合索引查询中的游标顺序

javascript - VueRouter 在业力单元测试中未定义