能否讲一下vue.js中的ajax?

能否讲一下vue.js中的ajax?

阅读 95.8k
3 个回答

Vue作为一个没有入侵性的框架并不限制你使用ajax框架。
使用了Vue后,ajax部分你可以做如下选择:
1.使用JS原生XHR接口
2.引入JQuery或者Zepto 使用$.ajax();
3.Vue的github上提供了vue-resource插件 :
4.使用 fetch.js
5.自己封装一个ajax库

推荐:
2 学习成本最小;
3 vue最契合;
4 fetch是基于Promise的 ,异步操作更友好,解决了多步回调显得更加优雅友好。个人认为xhr未来是会被fetchAPI取代的。


2017-03-02更新
更新
axios.js Vue官方推荐的ajax库
vue-resource插件已经官方推荐中去掉
故推荐列表该为:

  1. fetch.js fetch是基于Promise的,未来的趋势。

  2. axios.js Vue 2.0 官方推荐。

我的代码如下,因为主框架是mui,顺便用了mui的ajax,其实用jquery的或是原生的都行:

vm = new Vue({
            el: 'body',
            data: {
                feed:"",
                info: {},
                list: [],
                final: {msg:""}
            },
            ready:function() {
                mui.ajax({ url: "shopData/myPay.json", dataType: "json",
                    success: function(data){
                        vm.info = data.info;
                        vm.list = data.list;
                    },
                    error: function(data){
                        console.log("读取jsonName error!");
                    }
                });
            }
        });
推荐问题
宣传栏