Ajax在vue中的封装及使用

今天给大家写一篇关于ajax在vue中的应用及封装,有些同学可能会有疑问,因为熟悉vue的都知道,vue中有vue-resource和axios是专门用于http交互的,那么ajax岂不是多此一举吗?其实不然,ajax有ajax的优势,并且小编本身对ajax有着特殊的感情,今天就给大家详细详解ajax在vue中的应用。

首先我们有必要配置一下jQuery,具体配置方法很简单,教程如下:

1.安装jquery 
npm install jquery --save-dev
 
2.build/webpack.base.conf.js中, 
导入:var webpack = require('webpack'); 
最下面添加: 
plugins: [ 
new webpack.ProvidePlugin({ 
$:"jquery", 
jQuery:"jquery", 
"window.jQuery":"jquery" 
}) 
] 

如果你还未能配置好jquery的话,可以百度查找最新的教程解决问题,当然,配置jquery也是因为配合使用ajax,接下来我们需要新建一个js文件,存放的位置如下,当然也可以跟我的位置不同,随意

 

我们新建一个请求http的方法,叫postvoid

var common = {
    postvoid(url, data, cellback) {
    var token = xxxxxx;
    var username = xxxxxxx;
    $.ajax({
      type: "POST",
      url: this.res_url + url,
      data: data,
      async: true,
      headers: {
        "token": token,
        "username": username
      },
      success: function (res) {
        cellback(res)
      },
      error: function () {
        alert("网络错误")
      }
    })
  }
    
}

module.exports = common
入参的url是请求地址,data是请求入参,callback是回调函数,用于返回调用方结果用 ,ajax的headers是请求头信息,module.exports = common 是把方法暴露给出去,方便调用。

下面我们看一下如何调用这个文件这个方法

首先我们在test.vue文件中导入http.js文件,并把结果赋给变量g,方便调用

 g.post_func("/api/v1/xxx", req_data, function(data) {
        console.log(data);
      });

调用起来就很简单了,把参数传进去,打印data就可以了

 

    原文作者:马明瑞
    原文地址: https://segmentfault.com/a/1190000018341793
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞