精华内容
下载资源
问答
  • 异步请求其实什么是异步请求已经不用多...详细的就自己百度了在vue中,可以异步请求的有vue-resource和axios后端项目准备:我的Python作为后端语言,的Python的django框架作为后端的web服务,且的是django-...

    异步请求

    其实什么是异步请求已经不用多说了,通俗的说,就是整个页面不会刷新,需要更新的部分数据做局部刷新,其他数据不变。

    学到这里,你应该用过jquery里的ajax了,所以很能理解了,不多说了。详细的就自己百度了

    在vue中,可以做异步请求的有vue-resource和axios

    后端项目准备:

    我用的Python作为后端语言,用的Python的django框架作为后端的web服务,且用的是django-rest-framework做成了前后端分离的项目,本文着重点不在Python后端这方面,感兴趣的可以看我的Python相关文章,这里就不涉及Python的讲解,我直接把项目代码放在这,可以直接用我的服务端项目,前提你得装了相关的开发环境(Python+django+djangorestframework)

    项目文件:点我

    API接口:

    API接口

    支持请求方式

    请求参数

    http://127.0.0.1/data/

    get,post

    get:空

    post:{'name':XX,'age':xx,'pwd':xx,'brief':xxx}

    http://127.0.0.1/retrieve/:id

    (id为整形)

    put,delete

    put:{'name':XX,'age':xx,'pwd':xx,'brief':xxx}

    delete: 空

    数据库字段数据:

    好,接下来就开始做异步请求了

    vue-resource

    vue-resource是vue官方团队的人开发的,在vue2.0出来之后,开发vue-resource的人表示不再更新,放弃维护,并推荐使用axios,具体原因不深究,总之使用的比较多的还是axios,axios下面会介绍,这里还是稍微用下vue-resource怎么用的

    安装

    同样的,用npm包安装:

    引入包:

    引入安装的本地包:

    引入cdn包:

    使用-get请求

    这里就只展示一个get请求了,在axios再展示其他的请求方式,实际开发中估计已经用的不多,了解下就行了,我感觉和axios的语法差不了多少。

    好的,作为服务端的代码就是上面的django项目,如果没有Python的django环境的,也可以自己配置一个后端,反正能正常返回数据就行

    正常返回了对吧

    其实vue-resource的get请求也可以传入参数的,然后这些都不深究了,还是那句,作为了解即可,因为你会发现axios很类似

    代码:

    {{msg}}

    点我

    el:'#app',

    data: {

    msg:''},

    methods: {

    clickHander() {this.$http.get('http://127.0.0.1:8000/data/',)

    .then(function (data) { //正确的回调

    this.msg =data

    console.log(data.data);

    },function (data) { //错误的回调

    console.log(data)

    });

    }

    },

    })

    vue-resource

    axios

    axios现在非常流行,开玩笑,vue官方都推荐它,用的人肯定多啊,不多说了,详细自己看官网文档吧,这里有个中文版的官网:传送门

    安装

    导包

    导入本地包:

    导入cdn包:

    使用

    这里用的后端服务还是上面给的那个django项目

    get请求

    可以返回结果。

    axios的function函数this对象

    但是发现在html结构上并没有把数据渲染出来,按理说,明明已经拿到数据,但是并没有正常渲染给p标签,这个是个大众都容易犯的错,很多人都卡在这里,都纳闷啊,在进入axios的前后,打印this对象看看:

    发现问题了,进入axios之后,this对象改变了,变成了根对象了,这个怎么办呢

    1.大众都能想到的办法,用一个临时变量接收:

    可以用,不过不太推荐这个方法

    2.利用箭头函数,永远绑定this对象:

    这样就完事了,我们也不需要去自己定义一个临时变量存储,很方便的

    至于什么是箭头函数,这里不多说,在前端基础部分内容里会说,大概就说下,箭头函数的格式:

    () =>{

    }

    如果没有参数的话,括号可以省略

    代码:

    {{msg}}

    点我

    el:'#app',

    data: {

    msg:''},

    methods: {

    clickHander() {

    console.log(this) //之前

    axios.get('http://127.0.0.1:8000/data/')

    .then((data)=>{ //正确的回调

    console.log(this) //之后

    console.log(data.data);this.msg =data.data

    })

    .catch((error)=>{ //错误的回调

    console.log(error)

    })

    }

    },

    })

    axios-get

    get请求也可以传入参数的

    此时这里就不展示了,自行研究了

    post请求

    这里要注意一下,如果是非get方式的传参,按文档:

    需要用URLsearchParams对象把参数作url编码

    注:

    URLsearchParams.append()方法接收两个参数,一个是键,一个是值,一次只能传一对键值,所以这里有点繁琐

    不过我觉得应该有一次性传入多个参数的方法,这里不去深究了,这是只是展示案例,感兴趣自行研究

    最后结果,确实添加进来了:

    代码:

    {{msg}}

    点我

    el:'#app',

    data: {

    msg:''},

    methods: {

    clickHander() {var params = newURLSearchParams();

    params.append('age',60)

    params.append('brief','我什么简介要你管')

    params.append('name','老王')

    params.append('pwd','123')

    console.log(params)

    axios.post('http://127.0.0.1:8000/data/',params)

    .then((data)=>{ //正确的回调

    console.log(data.data);this.msg =data.data

    })

    .catch((error)=>{ //错误的回调

    console.log(error)

    })

    }

    },

    })

    axios-post

    put请求

    其实axios的post一样可以完成put、delete等的请求,官方说的是为了方便起见,取了别名:

    好的,话不多说,直接干

    我要修改老王的密码:

    修改之前,老王的密码是123:

    修改之后,老王的密码成了pwd1929...,正好就是我们刚才改的那个密码

    代码:

    {{msg}}

    点我

    el:'#app',

    data: {

    msg:''},

    methods: {

    clickHander() {var params = newURLSearchParams();

    params.append('age',60)

    params.append('brief','我什么简介要你管')

    params.append('name','老王')

    params.append('pwd','pwd192924')

    console.log(params)

    axios.put('http://127.0.0.1:8000/retrieve/6',params)

    .then((data)=>{ //正确的回调

    console.log(data.data);this.msg =data.data

    })

    .catch((error)=>{ //错误的回调

    console.log(error)

    })

    }

    },

    })

    axios-put

    delete请求

    这个就简单了,直接上代码,在之前,数据库的数据如下,我要删除id为7的那个数据:

    开干:

    删除之后的数据库,确实没有了:

    代码:

    {{msg}}

    点我

    el:'#app',

    data: {

    msg:''},

    methods: {

    clickHander() {var params = newURLSearchParams();

    axios.delete('http://127.0.0.1:8000/retrieve/7')

    .then((data)=>{ //正确的回调

    console.log(data.data);this.msg =data.data

    })

    .catch((error)=>{ //错误的回调

    console.log(error)

    })

    }

    },

    })

    axios-delete

    axios其他相关配置:

    axios可以直接挂载在vue实例的属性上:

    Vue.prototype.$axios =axios // 注意是prototype,不是propertythis.$axios.get(....)

    正常访问:

    可以配置默认url

    在以后大型项目中,如果请求多次,那么是不是你这代码每次都要写url,而且如果url改变的话,每个异步请求的部分都要改,这样不利于维护,所以可以配置个默认的url前缀:

    axios.defaults.baseURL = 'http://127.0.0.1:8000' // 注意是defaults和baseURLaxios.get('/xxx/')

    代码:

    {{msg}}

    点我

    axios.defaults.baseURL= 'http://127.0.0.1:8000'const app= newVue({

    el:'#app',

    data: {

    msg:''},

    methods: {

    clickHander() {this.$axios.get('/data/')

    .then((data)=>{ //正确的回调

    console.log(data.data);this.msg =data.data

    })

    .catch((error)=>{ //错误的回调

    console.log(error)

    })

    }

    },

    })

    axios-baseURL-挂载到vue实例属性上

    总结:

    非常简单,还是那句,多看官方文档

    展开全文
  • 异步请求 其实什么是异步请求已经不用多说了,通俗的说,就是整个页面不会刷新,需要更新的...在vue中,可以异步请求的有vue-resource和axios 后端项目准备: 我的Python作为后端语言,的Python的dja...

    异步请求

     

    其实什么是异步请求已经不用多说了,通俗的说,就是整个页面不会刷新,需要更新的部分数据做局部刷新,其他数据不变。

    学到这里,你应该用过jquery里的ajax了,所以很能理解了,不多说了。详细的就自己百度了

     

    在vue中,可以做异步请求的有vue-resource和axios

     

    后端项目准备:

     

    我用的Python作为后端语言,用的Python的django框架作为后端的web服务,且用的是django-rest-framework做成了前后端分离的项目,本文着重点不在Python后端这方面,感兴趣的可以看我的Python相关文章,这里就不涉及Python的讲解,我直接把项目代码放在这,可以直接用我的服务端项目,前提你得装了相关的开发环境(Python+django+djangorestframework)

     

    项目文件:点我 

     

    API接口:

     

     

    API接口 支持请求方式 请求参数
    http://127.0.0.1/data/ get,post

    get:空

    post:{'name':XX,'age':xx,'pwd':xx,'brief':xxx}

    http://127.0.0.1/retrieve/:id

    (id为整形)

    put,delete

    put:{'name':XX,'age':xx,'pwd':xx,'brief':xxx}

    delete: 空

     

    数据库字段数据:

     

    好,接下来就开始做异步请求了

     

    vue-resource

     

    vue-resource是vue官方团队的人开发的,在vue2.0出来之后,开发vue-resource的人表示不再更新,放弃维护,并推荐使用axios,具体原因不深究,总之使用的比较多的还是axios,axios下面会介绍,这里还是稍微用下vue-resource怎么用的

     

    安装

     

    同样的,用npm包安装:

     

    引入包:

     

    引入安装的本地包:

     

    引入cdn包:

     

    <script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js"></script>

     

     

    使用-get请求

     

    这里就只展示一个get请求了,在axios再展示其他的请求方式,实际开发中估计已经用的不多,了解下就行了,我感觉和axios的语法差不了多少。

    好的,作为服务端的代码就是上面的django项目,如果没有Python的django环境的,也可以自己配置一个后端,反正能正常返回数据就行

     

     

     

    正常返回了对吧

     

    其实vue-resource的get请求也可以传入参数的,然后这些都不深究了,还是那句,作为了解即可,因为你会发现axios很类似

     

    代码:

    <!DOCTYPE html>
    <html>
    
    <head>
        <meta charset="utf-8">
        <title></title>
        <script type="text/javascript" src="./node_modules/vue/dist/vue.js"></script>
        <script type="text/javascript" src="./node_modules/vue-resource/dist/vue-resource.js"></script>
        <style>
        </style>
    </head>
    
    <body>
        <div id="app">
            <p>{{msg}}</p>
            <button @click="clickHander" >点我</button>
        </div>
        <script>
            const app = new Vue({
                el: '#app',
                data: {
                    msg: ''
                },
                methods: {
                    clickHander() {
                        this.$http.get('http://127.0.0.1:8000/data/',)
                        .then(function (data) { //正确的回调
                            this.msg = data
                            console.log(data.data);
                        }, function (data) {   // 错误的回调
                            console.log(data)
                        });
    
                    }
                },
    
            })
        </script>
    </body>
    
    </html>
    vue-resource

     

     

    axios

    axios现在非常流行,开玩笑,vue官方都推荐它,用的人肯定多啊,不多说了,详细自己看官网文档吧,这里有个中文版的官网:传送门

     

    安装

     

    导包

     

    导入本地包:

     

    导入cdn包:

     

    <script type="text/javascript" src="https://cdn.bootcss.com/axios/0.19.0-beta.1/axios.js"></script>

     

    使用

     

    这里用的后端服务还是上面给的那个django项目

     

    get请求

     

    可以返回结果。

     

    axios的function函数this对象

    但是发现在html结构上并没有把数据渲染出来,按理说,明明已经拿到数据,但是并没有正常渲染给p标签,这个是个大众都容易犯的错,很多人都卡在这里,都纳闷啊,在进入axios的前后,打印this对象看看:

     

    发现问题了,进入axios之后,this对象改变了,变成了根对象了,这个怎么办呢

     

    1.大众都能想到的办法,用一个临时变量接收:

     

    可以用,不过不太推荐这个方法

     

    2.利用箭头函数,永远绑定this对象

     

     

     

    这样就完事了,我们也不需要去自己定义一个临时变量存储,很方便的

     

    至于什么是箭头函数,这里不多说,在前端基础部分内容里会说,大概就说下,箭头函数的格式

    () =>{

    }

    如果没有参数的话,括号可以省略

     

    代码:

    <!DOCTYPE html>
    <html>
    
    <head>
        <meta charset="utf-8">
        <title></title>
        <script type="text/javascript" src="./node_modules/vue/dist/vue.js"></script>
        <script type="text/javascript" src="./node_modules/axios/dist/axios.js"></script>
        <style>
        </style>
    </head>
    <body>
        <div id="app">
            <p>{{msg}}</p>
            <button @click="clickHander" >点我</button>
            
        </div>
        <script>
            const app = new Vue({
                el: '#app',
                data: {
                    msg: ''
                },
                methods: {
                    clickHander() {
                        console.log(this) // 之前
                        axios.get('http://127.0.0.1:8000/data/')
                        .then((data)=>{ // 正确的回调
                            console.log(this) // 之后
                            console.log(data.data);
                            this.msg = data.data
                        })
                        .catch((error)=>{ // 错误的回调
                            console.log(error)
                        })
                    }
                },
            })
        </script>
    </body>
    
    </html>
    axios-get

     

     

    get请求也可以传入参数的

     

    此时这里就不展示了,自行研究了

     

     

    post请求

     

     这里要注意一下,如果是非get方式的传参,按文档:

     

    需要用URLsearchParams对象把参数作url编码

     

     

    注:

     

    URLsearchParams.append()方法接收两个参数,一个是键,一个是值,一次只能传一对键值,所以这里有点繁琐

    不过我觉得应该有一次性传入多个参数的方法,这里不去深究了,这是只是展示案例,感兴趣自行研究

     

    最后结果,确实添加进来了:

     

    代码:

    <!DOCTYPE html>
    <html>
    
    <head>
        <meta charset="utf-8">
        <title></title>
        <script type="text/javascript" src="./node_modules/vue/dist/vue.js"></script>
        <script type="text/javascript" src="./node_modules/axios/dist/axios.js"></script>
        <style>
        </style>
    </head>
    <body>
        <div id="app">
            <p>{{msg}}</p>
            <button @click="clickHander" >点我</button>
            
        </div>
        <script>
            const app = new Vue({
                el: '#app',
                data: {
                    msg: ''
                },
                methods: {
                    clickHander() {
                        var params = new URLSearchParams();
                        params.append('age',60)
                        params.append('brief','我什么简介要你管')
                        params.append('name','老王')
                        params.append('pwd','123')
                        console.log(params)
                        axios.post('http://127.0.0.1:8000/data/',params)                    
                        .then((data)=>{ // 正确的回调
                            console.log(data.data);
                            this.msg = data.data
                        })
                        .catch((error)=>{ // 错误的回调
                            console.log(error)
                        })
                    }
                },
            })
        </script>
    </body>
    
    </html>
    axios-post

     

     

    put请求

     

    其实axios的post一样可以完成put、delete等的请求,官方说的是为了方便起见,取了别名:

     

    好的,话不多说,直接干

     

    我要修改老王的密码:

     

    修改之前,老王的密码是123:

     

     

     

    修改之后,老王的密码成了pwd1929...,正好就是我们刚才改的那个密码

     

    代码:

    <!DOCTYPE html>
    <html>
    
    <head>
        <meta charset="utf-8">
        <title></title>
        <script type="text/javascript" src="./node_modules/vue/dist/vue.js"></script>
        <script type="text/javascript" src="./node_modules/axios/dist/axios.js"></script>
        <style>
        </style>
    </head>
    <body>
        <div id="app">
            <p>{{msg}}</p>
            <button @click="clickHander" >点我</button>
            
        </div>
        <script>
            const app = new Vue({
                el: '#app',
                data: {
                    msg: ''
                },
                methods: {
                    clickHander() {
                        var params = new URLSearchParams();
                        params.append('age',60)
                        params.append('brief','我什么简介要你管')
                        params.append('name','老王')
                        params.append('pwd','pwd192924')
                        console.log(params)
                        axios.put('http://127.0.0.1:8000/retrieve/6',params)                    
                        .then((data)=>{ // 正确的回调
                            console.log(data.data);
                            this.msg = data.data
                        })
                        .catch((error)=>{ // 错误的回调
                            console.log(error)
                        })
                    }
                },
            })
        </script>
    </body>
    
    </html>
    axios-put

     

     

     

    delete请求

    这个就简单了,直接上代码,在之前,数据库的数据如下,我要删除id为7的那个数据:

     

    开干:

     

     

     删除之后的数据库,确实没有了:

     

     

    代码:

    <!DOCTYPE html>
    <html>
    
    <head>
        <meta charset="utf-8">
        <title></title>
        <script type="text/javascript" src="./node_modules/vue/dist/vue.js"></script>
        <script type="text/javascript" src="./node_modules/axios/dist/axios.js"></script>
        <style>
        </style>
    </head>
    <body>
        <div id="app">
            <p>{{msg}}</p>
            <button @click="clickHander" >点我</button>
            
        </div>
        <script>
            const app = new Vue({
                el: '#app',
                data: {
                    msg: ''
                },
                methods: {
                    clickHander() {
                        var params = new URLSearchParams();
                        axios.delete('http://127.0.0.1:8000/retrieve/7')                    
                        .then((data)=>{ // 正确的回调
                            console.log(data.data);
                            this.msg = data.data
                        })
                        .catch((error)=>{ // 错误的回调
                            console.log(error)
                        })
                    }
                },
            })
        </script>
    </body>
    
    </html>
    axios-delete

     

    axios其他相关配置:

    axios可以直接挂载在vue实例的属性上:

     

    Vue.prototype.$axios = axios   // 注意是prototype,不是property
    this.$axios.get(....)

     

    正常访问:

     

    可以配置默认url

     

    在以后大型项目中,如果请求多次,那么是不是你这代码每次都要写url,而且如果url改变的话,每个异步请求的部分都要改,这样不利于维护,所以可以配置个默认的url前缀:

     

    axios.defaults.baseURL = 'http://127.0.0.1:8000'  // 注意是defaults和baseURL
    axios.get('/xxx/')

     

     

     

    代码:

    <!DOCTYPE html>
    <html>
    
    <head>
        <meta charset="utf-8">
        <title></title>
        <script type="text/javascript" src="./node_modules/vue/dist/vue.js"></script>
        <script type="text/javascript" src="./node_modules/axios/dist/axios.js"></script>
        <style>
        </style>
    </head>
    <body>
        <div id="app">
            <p>{{msg}}</p>
            <button @click="clickHander" >点我</button>
            
        </div>
        <script>
            Vue.prototype.$axios = axios;
            axios.defaults.baseURL = 'http://127.0.0.1:8000'
            const app = new Vue({
                el: '#app',
                data: {
                    msg: ''
                },
                methods: {
                    clickHander() {
                        this.$axios.get('/data/')                    
                        .then((data)=>{ // 正确的回调
                            console.log(data.data);
                            this.msg = data.data
                        })
                        .catch((error)=>{ // 错误的回调
                            console.log(error)
                        })
                    }
                },
            })
        </script>
    </body>
    
    </html>
    axios-baseURL-挂载到vue实例属性上

     

     

    总结:

    非常简单,还是那句,多看官方文档

     

    转载于:https://www.cnblogs.com/Eeyhan/p/10579239.html

    展开全文
  • 异步请求其实什么是异步请求已经不用多...详细的就自己百度了在vue中,可以异步请求的有vue-resource和axios后端项目准备:我的Python作为后端语言,的Python的django框架作为后端的web服务,且的是django-...

    异步请求

    其实什么是异步请求已经不用多说了,通俗的说,就是整个页面不会刷新,需要更新的部分数据做局部刷新,其他数据不变。

    学到这里,你应该用过jquery里的ajax了,所以很能理解了,不多说了。详细的就自己百度了

    在vue中,可以做异步请求的有vue-resource和axios

    后端项目准备:

    我用的Python作为后端语言,用的Python的django框架作为后端的web服务,且用的是django-rest-framework做成了前后端分离的项目,本文着重点不在Python后端这方面,感兴趣的可以看我的Python相关文章,这里就不涉及Python的讲解,我直接把项目代码放在这,可以直接用我的服务端项目,前提你得装了相关的开发环境(Python+django+djangorestframework)

    项目文件:点我

    API接口:

    API接口

    支持请求方式

    请求参数

    http://127.0.0.1/data/

    get,post

    get:空

    post:{'name':XX,'age':xx,'pwd':xx,'brief':xxx}

    http://127.0.0.1/retrieve/:id

    (id为整形)

    put,delete

    put:{'name':XX,'age':xx,'pwd':xx,'brief':xxx}

    delete: 空

    数据库字段数据:

    好,接下来就开始做异步请求了

    vue-resource

    vue-resource是vue官方团队的人开发的,在vue2.0出来之后,开发vue-resource的人表示不再更新,放弃维护,并推荐使用axios,具体原因不深究,总之使用的比较多的还是axios,axios下面会介绍,这里还是稍微用下vue-resource怎么用的

    安装

    同样的,用npm包安装:

    引入包:

    引入安装的本地包:

    引入cdn包:

    使用-get请求

    这里就只展示一个get请求了,在axios再展示其他的请求方式,实际开发中估计已经用的不多,了解下就行了,我感觉和axios的语法差不了多少。

    好的,作为服务端的代码就是上面的django项目,如果没有Python的django环境的,也可以自己配置一个后端,反正能正常返回数据就行

    正常返回了对吧

    其实vue-resource的get请求也可以传入参数的,然后这些都不深究了,还是那句,作为了解即可,因为你会发现axios很类似

    代码:

    {{msg}}

    点我

    el:'#app',

    data: {

    msg:''},

    methods: {

    clickHander() {this.$http.get('http://127.0.0.1:8000/data/',)

    .then(function (data) { //正确的回调

    this.msg =data

    console.log(data.data);

    },function (data) { //错误的回调

    console.log(data)

    });

    }

    },

    })

    vue-resource

    axios

    axios现在非常流行,开玩笑,vue官方都推荐它,用的人肯定多啊,不多说了,详细自己看官网文档吧,这里有个中文版的官网:传送门

    安装

    导包

    导入本地包:

    导入cdn包:

    使用

    这里用的后端服务还是上面给的那个django项目

    get请求

    可以返回结果。

    axios的function函数this对象

    但是发现在html结构上并没有把数据渲染出来,按理说,明明已经拿到数据,但是并没有正常渲染给p标签,这个是个大众都容易犯的错,很多人都卡在这里,都纳闷啊,在进入axios的前后,打印this对象看看:

    发现问题了,进入axios之后,this对象改变了,变成了根对象了,这个怎么办呢

    1.大众都能想到的办法,用一个临时变量接收:

    可以用,不过不太推荐这个方法

    2.利用箭头函数,永远绑定this对象:

    这样就完事了,我们也不需要去自己定义一个临时变量存储,很方便的

    至于什么是箭头函数,这里不多说,在前端基础部分内容里会说,大概就说下,箭头函数的格式:

    () =>{

    }

    如果没有参数的话,括号可以省略

    代码:

    {{msg}}

    点我

    el:'#app',

    data: {

    msg:''},

    methods: {

    clickHander() {

    console.log(this) //之前

    axios.get('http://127.0.0.1:8000/data/')

    .then((data)=>{ //正确的回调

    console.log(this) //之后

    console.log(data.data);this.msg =data.data

    })

    .catch((error)=>{ //错误的回调

    console.log(error)

    })

    }

    },

    })

    axios-get

    get请求也可以传入参数的

    此时这里就不展示了,自行研究了

    post请求

    这里要注意一下,如果是非get方式的传参,按文档:

    需要用URLsearchParams对象把参数作url编码

    注:

    URLsearchParams.append()方法接收两个参数,一个是键,一个是值,一次只能传一对键值,所以这里有点繁琐

    不过我觉得应该有一次性传入多个参数的方法,这里不去深究了,这是只是展示案例,感兴趣自行研究

    最后结果,确实添加进来了:

    代码:

    {{msg}}

    点我

    el:'#app',

    data: {

    msg:''},

    methods: {

    clickHander() {var params = newURLSearchParams();

    params.append('age',60)

    params.append('brief','我什么简介要你管')

    params.append('name','老王')

    params.append('pwd','123')

    console.log(params)

    axios.post('http://127.0.0.1:8000/data/',params)

    .then((data)=>{ //正确的回调

    console.log(data.data);this.msg =data.data

    })

    .catch((error)=>{ //错误的回调

    console.log(error)

    })

    }

    },

    })

    axios-post

    put请求

    其实axios的post一样可以完成put、delete等的请求,官方说的是为了方便起见,取了别名:

    好的,话不多说,直接干

    我要修改老王的密码:

    修改之前,老王的密码是123:

    修改之后,老王的密码成了pwd1929...,正好就是我们刚才改的那个密码

    代码:

    {{msg}}

    点我

    el:'#app',

    data: {

    msg:''},

    methods: {

    clickHander() {var params = newURLSearchParams();

    params.append('age',60)

    params.append('brief','我什么简介要你管')

    params.append('name','老王')

    params.append('pwd','pwd192924')

    console.log(params)

    axios.put('http://127.0.0.1:8000/retrieve/6',params)

    .then((data)=>{ //正确的回调

    console.log(data.data);this.msg =data.data

    })

    .catch((error)=>{ //错误的回调

    console.log(error)

    })

    }

    },

    })

    axios-put

    delete请求

    这个就简单了,直接上代码,在之前,数据库的数据如下,我要删除id为7的那个数据:

    开干:

    删除之后的数据库,确实没有了:

    代码:

    {{msg}}

    点我

    el:'#app',

    data: {

    msg:''},

    methods: {

    clickHander() {var params = newURLSearchParams();

    axios.delete('http://127.0.0.1:8000/retrieve/7')

    .then((data)=>{ //正确的回调

    console.log(data.data);this.msg =data.data

    })

    .catch((error)=>{ //错误的回调

    console.log(error)

    })

    }

    },

    })

    axios-delete

    axios其他相关配置:

    axios可以直接挂载在vue实例的属性上:

    Vue.prototype.$axios =axios // 注意是prototype,不是propertythis.$axios.get(....)

    正常访问:

    可以配置默认url

    在以后大型项目中,如果请求多次,那么是不是你这代码每次都要写url,而且如果url改变的话,每个异步请求的部分都要改,这样不利于维护,所以可以配置个默认的url前缀:

    axios.defaults.baseURL = 'http://127.0.0.1:8000' // 注意是defaults和baseURLaxios.get('/xxx/')

    代码:

    {{msg}}

    点我

    axios.defaults.baseURL= 'http://127.0.0.1:8000'const app= newVue({

    el:'#app',

    data: {

    msg:''},

    methods: {

    clickHander() {this.$axios.get('/data/')

    .then((data)=>{ //正确的回调

    console.log(data.data);this.msg =data.data

    })

    .catch((error)=>{ //错误的回调

    console.log(error)

    })

    }

    },

    })

    axios-baseURL-挂载到vue实例属性上

    总结:

    非常简单,还是那句,多看官方文档

    展开全文
  • 今天了一个需求,,项目的excel表数据的导出,前面我直接调用接口但是却发现后端返回了的数据是二进流格式,如图: 这就纳闷了,后来查询资料就得知了,前端需要blob就可以二级制流文件下载到了本地了,这里...

    今天做了一个需求,,项目的excel表数据的导出,前面我直接调用接口但是却发现后端返回了的数据是二进流格式,如图:

    这就纳闷了,后来查询资料就得知了,前端需要用blob就可以二级制流文件下载到了本地了,这里,感谢原来博主分享的资料,让我解决问题,附上连接https://www.cnblogs.com/art-poet/p/13730640.html

    后来获取到数据之后,需要对请下载文件名进行定义,我发线获取的文件的一堆什么格式我也不知道,问了后端才知道,对其进行了encodeURI编码,然后我在前端用decodeURI() 函数进行了对应的解析就成功解决了问题

    代码如下:希望对其有帮助,引入有错误,多多指教啊

    axios({
    					method: 'get',
    					url: `${window.g.baseURL}/mgmt/manage/team/members/export`,//请求地址
    					headers: {
    						token: sessionStorage.getItem('accessToken')//token给后端验证,看自己项目
    					},
    					responseType: 'blob'
    				}).then(res => {
    					let blob = new Blob([res.data], {
    						type: 'application/vnd.ms-excel;charset=utf-8'
    					})
    					let contentDisposition = res.headers['content-disposition'] //从response的headers中获取filename, 后端response.setHeader("Content-disposition", "attachment; filename=xxxx.docx") 设置的文件名;
    					let patt = new RegExp('filename=([^;]+\\.[^\\.;]+);*')
    					let result = patt.exec(contentDisposition)
    					let thename = decodeURI(result[1]) //使用decodeURI对名字进行解码
    					let downloadElement = document.createElement('a')
    					let href = window.URL.createObjectURL(blob) //创建下载的链接
    					downloadElement.style.display = 'none'
    					downloadElement.href = href
    					downloadElement.download = thename //下载后文件名
    					document.body.appendChild(downloadElement)
    					downloadElement.click() //点击下载
    					document.body.removeChild(downloadElement) //下载完成移除元素
    					window.URL.revokeObjectURL(href) //释放掉blob对象
    				})

     

    展开全文
  • 最近在学习vuesocket实现一个聊天项目,前端vue,后台的node。然后出现了一个难解的bug:前端emit的数据,后台on函数怎么也接收不到,无法触发on函数里的回调函数。 找bug找了三天,给我整抑郁了,一直...
  • 最近大二商城项目时需要使用支付宝支付,就百度了一下支付宝支付的方法。发现七成以上是java的,.NET Core真的是寥寥无几,不禁感叹 .Net在中国真的那么少吗? 现在开始准备开发吧 调用支付宝接口前需要以下...
  • 先说项目,前后端分离的项目,前端vue+axios,后端用swagger-ui的接口 问题:如图,的登录界面,点击登录报错,试了很多种办法,不是报415 就是400,要不就是500 那好,先去看看服务端接口是否正常运行...
  • Spring Boot+Vue项目学习总结

    千次阅读 2019-02-01 16:04:07
    最近要一个网站项目,前后端都用什么开发好呢?什么火就用什么呗,后端Spring Boot火,就用Spring Boot;而前端Vue.js很好的实现了前后端分离,多么高大上,就用Vue了。可问题是两个之前都没用过啊,找一篇博文...
  • 接手一个项目,登录部分后端使用shiro安全框架 交给我的时候axios的webpack的proxy,但是在生产环境中使用不了proxy 所以只能老老实实写URL。 但是出现了一问题,使用proxy代理时, 登录后cookie自动被写入...
  • vue构建项目

    2021-03-31 18:51:17
    但有个问题是怎么添加新功能,因为项目结构都不是很清晰,后台代码倒是很快就写好了,就是前端不会弄,然后老板说我技术太水了,如果知道vue就不会不知道怎么弄,回去之后想了想他说的没错,以往什么node,npm只是...
  • c# + vue 从开发到上线的个人感悟我自己是学的c#语言,其实自己一直都想一个前后台完全分离的上线的demo,在demo之前有在想为什么要前后台分离,有什么好处,我简单的总结一下主要有以下几点:1:提高工作效率,...
  • Vue项目中的token验证登录(前端部分)

    万次阅读 多人点赞 2019-01-09 23:18:36
    最近在做毕业设计,我是做后端的,前端并不是很懂,看vue这个框架看了近两个礼拜才有点入门的感觉,所以这篇文章写的可能不怎么好,仅作记录,有什么不对或不足的地方欢迎大神指出。 2、问题 做一个登录界面,我选择...
  • 文中会讲述我从0~1搭建一个前后端分离的vue项目详细过程 <p>Feature: * 一套很实用的架构设计 * 通过 cli 工具生成新项目 * 通过 cli 工具初始化配置文件 * 编译源码与自动上传CDN * Mock 数据 * 反向检测...
  • 在近期的一个小项目中,本地路由跳转没有任何问题,使用nginx部署上线后出现很多路由无法跳转的问题。经过一番研究,发现可以通过以下两种方式解决。 法一.将路由改为hash模式 vue-router 默认 hash 模式 —— ...
  • 上升空间很大,组件化/路由/Vuex/Ajax,生态完整,架构强壮,它构建中大型项目也很容易 API 设计优雅,并且和标准很友好 但是在我看来,很多 Vue UI 组件库反倒走在一条错误的道路上:过分追大求全。比如说,第一...
  • 最近公司项目一个电子合同盖章的功能,博主想的是pdf来实现,主要想谈一谈引入pdf.js跨域问题。 之前小编在遇到这个问题的时候也是百度了好多关于解决这方面问题的文章,但最终都没有实际解决。举两个印象最深...
  • 很多人在学Python编程的时候,学习完基础之后就不知道该怎么办了。因为不清楚在企业里实际是怎么的,也就不知道该继续学什么了,往什么方向发展了...这是一个前后端分离的项目,前端用Vue后端用PythonDjangoRES...
  • koa2后端热更新

    千次阅读 2017-10-21 16:43:12
    好吧,那当然是什么新用什么啦!O(∩_∩)O哈哈~。 本人主页,目前博客还在开发中,所以访问还是空o(╯□╰)o 后端项目地址 前端项目地址 前端采用vue后端采用koa2。数据库采用mongodb、redis(目前用于储存...
  • 但是你需要掌握一些vue、webpack、nodejs的简单的基本概念和认识,也挺适合初级者阅读,我们学前端的小伙伴其实都知道,前端的工程搭建不像后端后端有一套非常健全的ide开发工具,我们不管做什么样子的项目,...
  • 本人之前一直得java后端,了解一点前端没有正式自己项目,都是改改别人东西,近期觉得得前后通吃,就随手搭建了一个前后端分离的项目,前端vue,这里分享下常用到的菜单树,前端新手不足的地方希望能有...
  • 虽然这对实际的项目什么大的帮助,但是可以在无形间提高我们的用户体验。 2 丰富的插件系统 VScode有着非常丰富的插件系统,无论你是编辑HTML、CSS、JS、TS、Vue、React等前端代码,还是JAVA、Python等后端代码。...
  • 这个仓库是做什么用的? 培训,教程,测试现场 只有小项目 更快地建立新项目 分行: :keycap_1: 大师-Clean Vue 2.6项目 :keycap_2: vuex方法-吸气剂,突变和作用的样本用法(Json占位符) :keycap_3: vuex-...
  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录图片上传处理base64转换后端返回数据后回填显示图片前言一、图片base64是什么... 由于公司要一个访客预约的H5移动端的小项目,我选择
  • Vue入坑教程(一) - 实例化Vue对象

    千次阅读 2019-04-05 22:56:20
    首先说说我为什么要学习Vue,其实多半是出于无奈,最近在实验室一个项目,开始是Django框架,但是做到一半发现项目的前端需要频繁向后端请求数据然后显示到前端,而且需要大量复用元素块。于是查了很...
  • Vue.js+Socket.io+Koa2...萝卜青菜各有所爱,本项目采用的是Vue.js前端页面展示,大家完全可以换成自己别的喜欢的,React、Angular等等,每个框架都有可取的地方,这里不多说下面扯到正题上## 预览在线预览地址: ...
  • 最近我们有一项目把我们的vue项目放在支付宝生活号中,中间没有什么问题都很简单,但是还遇见了小插曲(支付宝支付),我们并未采用以jssdk的方式去支付宝支付,因为支付宝支付也有网页支付,为了简便我们选择了...
  • 6.项目原生css来写的,以前并不觉得css预处理语言有什么优势,但我在写项目样式时,才发现样式复用率太低。每次都要获取父选择器,不能嵌套写,没有变量等等 最后 我是自学的vue,所以可能还存在很多问题,...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 126
精华内容 50
关键字:

vue项目用什么做后端

vue 订阅