今天给大家写一篇关于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就可以了