vue数据请求

1.axios(建议使用)

功能特性
  • 在浏览器中发送 XMLHttpRequests 请求
  • 在 node.js 中发送 http请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求和响应数据
  • 自动转换 JSON 数据
  • 客户端支持保护安全免受 XSRF 攻击
vue中axios的用法
  • 不能通过Vue.use()来注册公共组件,必须使用Vue.prototype.$ajax=axios;但是不必要注册为公共组件,只需要使用时import引入即可。
    this.$ajax.get();
    this.$ajax.post();
    不支持jsonp,但可以用其他方式进行跨域请求数据cors或原生jsonp或nginx代理。
  • 改写原型链
  1. 首先在 main.js 中引入 axios
    import axios from 'axios'
  2. 将 axios 改写为 Vue 的原型属性
    Vue.prototype.$ajax = axios
  3. 在 main.js 中添加了这两行代码之后,就能直接在组件的 methods 中使用 $ajax 命令
methods: {
  submitForm () {
    this.$ajax({
      method: 'post',
      url: '/user',
      data: {
        name: 'wise',
        info: 'wrong'
      }
   }).then(function(response){
        console.info(response)
    })
}

2.vue-resource(官方已经不再维护)

  • 通过Vue.use(VueResource) 注册为公共组件
    • this.$http.get();
    • this.$http.post();
    • this.$http.jsonp();
  • 用法
  1. 安装
    $ npm install vue-resource
  2. 使用VueResource插件
    Vue.use(VueResource)
  3. 引入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);
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 应我们湖大的杨老师的要求,他表达了对我的文章的喜爱,按他的原话是,夜读可催眠,我的,咸菜,粉丝团,终于迎来了第一位...
    燃烧吧情怀阅读 1,540评论 0 2
  • 下了两天的雨,在嘀嗒嘀嗒雨声中,翻翻小屁孩书包,发现小本上有大秘密。暑假里看来闲工夫不少,又画又涂又胡编乱造的。居...
    谷越Yoyo阅读 1,463评论 0 0

友情链接更多精彩内容