2-11 vue-recource

vue-recource

vue-resource是Vue.js的一款插件,它可以通过XMLHttpRequest或JSONP发起请求并处理响应。也就是说,$.ajax能做的事情,vue-resource插件一样也能做到,而且vue-resource的API更为简洁。

基本语法

  • 引入vue-resource后,可以基于全局的Vue对象使用http,也可以基于某个Vue实例使用http。
// 基于全局Vue对象使用http
Vue.http.get('/someUrl', [options]).then(successCallback, errorCallback);
Vue.http.post('/someUrl', [body], [options]).then(successCallback, errorCallback);

// 在一个Vue实例内使用$http
this.$http.get('/someUrl', [options]).then(successCallback, errorCallback);
this.$http.post('/someUrl', [body], [options]).then(successCallback, errorCallback);

  • 在发送请求后,使用then方法来处理响应结果,then方法有两个参数,第一个参数是响应成功时的回调函数,第二个参数是响应失败时的回调函数。
this.$http.get('/someUrl', [options]).then(function(response){
// 响应成功回调
}, function(response){
// 响应错误回调
});

vue-resource 1.0

<script src="js/vue.js"></script>
<script src="js/vue-resource.js"></script>
<script>
    new Vue({
        el:'#app',
        methods:{
            get:function () {
                this.$http.get('get.php', {
                    a:1, b:1
                }).then(function (res) {
                    console.log(res.data);
                },function (error) {
                    console.log(error);
                })
            },

            //添加emulateJSON, 相当于设置请求头
            post:function () {
                var config = {
                    emulateJSON:true
                };

                this.$http.post('post.php', {
                    a:2, b:1
                }, config).then(function (res) {
                    console.log(res.data);
                },function (error) {
                    console.log(error);
                })
            },

        }

    })

</script>

vue-resource2.0

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<div id="app">
    
    <button @click="get()">get请求</button>
    <button @click="post()">post请求</button>
</div>

</body>

<script src="js/vue.js"></script>
<script src="js/vue-resource.js"></script>
<script>
    var vm = new Vue({
        el:'#app',
        methods:{
            
            get:function () {
                //vue-resource 1.3.4 和vue2.0 后get参数发生改变
                this.$http.get('get.php', {
                    params:{a:2, b:1}
                }).then(function (res) {
                    console.log(res.data);
                }, function (error) {
                    console.log(error);
                });
            },

            post:function () {
                var config = {
                    //添加emulateJSON 相当于设置请求头
                    emulateJSON:true
                };

                this.$http.post('post.php', {
                    a:2, b:1
                }, config).then(function (res) {
                    console.log(res.data);
                }, function (error) {
                    console.log(error);
                });
            }

        }
        
    });
    
    
</script>

</html>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,162评论 19 139
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,217评论 0 29
  • 本文详细介绍了 XMLHttpRequest 相关知识,涉及内容: AJAX、XMLHTTP、XMLHttpReq...
    semlinker阅读 14,049评论 2 18
  • 说起自拍,想必许多朋友会直接想到所谓「45度仰角」的最佳角度,有时照片旁边还会出现有无限延伸感的手臂。打开自己(或...
    夏弥生阅读 950评论 0 7
  • “如果你不满意现在你的生活,就要不满意三、五年前你的决定;如果三、五年后你想过不一样的生活,就要从现在改变。 ” ...
    此刻最重要阅读 241评论 0 0

友情链接更多精彩内容