#14vue3生成表单并跳转到外部地址的方式

本文介绍如何在Vue3中根据后端返回的数据动态生成表单,并在提交后跳转到外部地址。首先,将Map<String,Object>序列化成字符串传递到前端。在outForm.vue中,遍历params生成输入框,使用onMounted提交表单并跳转。文中还提供了参数转化的函数示例。" 125985248,14902817,MySQL数据库操作详解,"['MySQL', '数据库', '服务器', '数据库管理']
摘要由CSDN通过智能技术生成

 

 

1、背景

后端返回的json数据中包含一个json数组,此数组中是目标跳转地址所需要的form表单的数据。

2、跳转前的页面

const goto = () => {
	finish.value = true;
  request.post('/xxx/yyy',
      {zzz: zzz.value}).then(res => {
    const url = res.data.submitUrl
    const params = JSON.stringify(res.data.params);
    const resolve = router.resolve({name:'outForm',query:{url,params}});
    window.open(resolve.href, "_blank");
  })
}

params在后端是一个Map<String,Object>,传递到前端后先将其序列化为字符串。

使用router.resolve通过query上送的方式把参数传递到outForm.vue。

3、outForm.vue

<template>
<form ref="formRef" method="post">
    <input v-for="(value, key) in params" :key="key" type="hidden" :name="key" :value="value" />
  </form>
</template>
<script setup>
import {onMounted, ref} from "vue";
import {toReactive
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火鸡nobug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值