vue 中使用 AJAX获取数据的方法

Posted 自由港

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 中使用 AJAX获取数据的方法相关的知识,希望对你有一定的参考价值。

在VUE开发时,数据可以使用jquery和vue-resource来获取数据。在获取数据时,一定需要给一个数据初始值。

看下例:

<script type="text/javascript">
    
     new Vue({
            el:‘#app‘,
            data:{data:""},
            created:function(){
                var url="json.jsp";
                var _self=this;
                $.get(url,function(data){
                    _self.data=eval("(" + data +")");
                })
                /*
                this.$http.get(url).then(function(data){
                    var json=data.body;
                    this.data=eval("(" + json +")");
                },function(response){
                    console.info(response);
                })*/
            }
          });
    </script>

这里必须设置 vue的data的初始数据,即使此时数据为空。

在使用ajax获取数据时,使用vue-resource 更加合适。

使用vue-resource代码如下:

<script type="text/javascript">
    
     new Vue({
            el:‘#app‘,
            data:{data:""},
            created:function(){
                var url="json.jsp";
            
                this.$http.get(url).then(function(data){
                    var json=data.body;
                    this.data=eval("(" + json +")");
                },function(response){
                    console.info(response);
                })
            }
          });
    </script>

这里我们看到设置VUE实例数据时,直接使用 this.data 就可以设置vue的数据了。

使用jquery的时候,代码如下:

<script type="text/javascript">
     new Vue({
            el:‘#app‘,
            data:{data:""},
            beforeCreate:function(){
                var url="json.jsp";
                var _self=this;
                $.get(url,function(data){
                    _self.data=eval("(" + data +")");
                })
            }
          });
    </script>

这里在需要先将 this 赋值给 _self ,让后在jquery的get方法中进行使用,这样使用起来没有vue-resource方便。

以上是关于vue 中使用 AJAX获取数据的方法的主要内容,如果未能解决你的问题,请参考以下文章

vue在使用ajax获取数据时,两种方法(jquery和vue_resource)

vue ajax获取数据的时候,如何保证传递参数的

AJAX相关JS代码片段和部分浏览器模型

vue nextTick使用

vue中ajax获取数据渲染页面,为啥filter不起作用

另一个ajax中的vue js ajax正在获取数据但不呈现视图