Javascript 如何从vue对象中动态提取数据,以便向后端发送POST请求?

Javascript 如何从vue对象中动态提取数据,以便向后端发送POST请求?,javascript,vue.js,axios,Javascript,Vue.js,Axios,我有一个包含所有这些getter和setter的vue对象,下面是console.log的屏幕截图: 实际数据的结构(不是vue内容)如下所示: { Internal_key: "TESTKEY_1", extensiontable_itc: { description_itc: "EXTENSION_ITC_1_1", description_itc2: "EXTENSION_ITC_1_2

我有一个包含所有这些getter和setter的vue对象,下面是console.log的屏幕截图:

实际数据的结构(不是vue内容)如下所示:

       {
          Internal_key: "TESTKEY_1",
          extensiontable_itc: {
            description_itc: "EXTENSION_ITC_1_1",
            description_itc2: "EXTENSION_ITC_1_2",
          },
          extensiontable_sysops: {
            description_sysops: "EXTENSION_SYSOPS_1"
          }
        }
在其他用例中,数据可能看起来不同。 外部对象上可能有更多或更少的键值对,并且这些键的命名也可能不同。嵌套对象及其内容也是如此

是否有一些方便的方法将这些数据提取到一个普通的JS对象中? 如果不是,如何最好地循环vue对象以“手动”提取数据? AJAX请求应通过axios请求执行,如果这也很重要的话

编辑: 以下是vue中的相关数据:

data() {
  return {
    editingRecord: {
        original: null,
        copy: null
      }
  }
}

在我的程序流程中,
editingRecord.original
editingRecord.copy
都从输入表单接收数据。如果用户单击“保存/发送”按钮,“复制”将其数据设置为原始数据。然后,我想从
editingRecord.original
中获取包含键和值的数据,并通过AJAX请求将它们发送到服务器。

最好不要将jQuery与Vue混用,下面是使用Axios的方法


好的,我找到了解决办法

  let vueObject = Object.entries(this.editingRecord.original)

  for(const[key, value] of vueObject){
    if(typeof value == 'object' && value !== null){
      for(const [nestedKey, nestedValue] of Object.entries(value)){
        result[nestedKey] = nestedValue
      }
    }else{
      result[key] = value
    }
  }
  console.log("resultObject is", result)

这样,您可以迭代所有属性,包括嵌套对象的属性,并将键和值重新分配给新的一维数组。

VUEJ中的数据和要发送到服务器的数据没有明确的链接。您希望如何转换数据?你的问题一点也不清楚。@Terry你所说的链接是什么意思?你的VueJS应用程序中没有显示任何数据:那么我们怎么知道你想如何将数据转换为你在POST请求中想要的形状呢?@Terry查看我的编辑我希望这是你想要看到的。如果你用
this.editingRecord.original
作为正文?
  let vueObject = Object.entries(this.editingRecord.original)

  for(const[key, value] of vueObject){
    if(typeof value == 'object' && value !== null){
      for(const [nestedKey, nestedValue] of Object.entries(value)){
        result[nestedKey] = nestedValue
      }
    }else{
      result[key] = value
    }
  }
  console.log("resultObject is", result)