前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue中使用formdata配合fetch使用

Vue中使用formdata配合fetch使用

作者头像
切图仔
发布2022-09-08 15:35:26
5610
发布2022-09-08 15:35:26
举报
文章被收录于专栏:生如夏花绚烂

第一种自定义数据

代码语言:javascript
复制
//vm.js
import Vue from 'vue/dist/vue.esm';
import VueRouter from 'vue-router';

let vm = new Vue({
    el:'#app',
    data:{
        result:0
    },
    //data与methods初始化时发送请求更新result
    async created(){
        let formdata = new FormData();//实例化FormData
        formdata.append('a',34);
        formdata.append('b',56);//手动添加数据
        let res = await fetch('index.php',{
            method:'post',
            body:formdata//指定发送数据
        });
        this.result  = await res.json();//结果转换为json,因为解析也属于异步操作所有添加await。
    }
})
代码语言:javascript
复制
//index.php
<?php
echo $_POST['a']+$_POST['b'];

//index.html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
    <div id='app'>
        {{result}}
    </div>
    <script type="text/javascript" src='dest/bundle.min.js'></script>
</body>
</html>

第二种发送表单数据

代码语言:javascript
复制
import Vue from 'vue/dist/vue.esm';
import VueRouter from 'vue-router';

let vm = new Vue({
    el:'#app',
    data:{
        result:0
    },
    methods:{
        async submit(){
            //获取表单$refs
            let form = this.$refs['form1']
            let formdata = new FormData(form);
        
            let res = await fetch(form.action,{
                method:form.method,
                body:formdata
            });
            this.result  = await res.json();    
        }
    },
      template:`
      //ref用于给组件内部标签取名称
        <form ref='form1' @click:prevent="submit()" action='index.php' method='post' >
           姓名:<input type='text' name='a' value='1'><br />
           年龄:<input type='text' name='b' value='19'><br />
           <input type='submit'  value='提交'>
        </form>
    `
})
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档