微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

【代码片段】vue中使用jquery发送ajax请求封装

首先确保你的vue项目中已经安装了jquery,如果没有请先安装。

src/request/request.js :

import $ from "jquery"

var app_debug = true;
if (app_debug == true) {
    var HTTP_HOST = "http://开发环境地址";
} else {
    var HTTP_HOST = "http://生产环境地址";
}


// 获取请求完整url
var ajax_url = function(url){
    return HTTP_HOST + url;
}

// 获取请求完整参数
var ajax_data = function(data = {}){
    data["_client_"] = "web";
    data["_version_"] = "1.0.0";
    // 更多公共参数~
    
    return JSON.stringify(data);
}

// 公共请求成功(需验证业务逻辑)
var ajax_success = function(result, status, xhr){
    // 验证业务逻辑部分(如未登录跳转登录等~)
    
    return true;
}

// 公共请求失败
var ajax_error = function(xhr, status, error){
    // 公共请求失败处理逻辑
    
    console.log("请求失败:" + error);
    return true;
}

// AJAX请求认参数
$.ajaxSetup({
	type: "POST",
	dataType: "json",
	timeout: 3000,
    beforeSend : function(request) {
        request.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    }
});

export default {
    post (url, data = {}, callback, errCallback) {
        $.ajax({
            url: ajax_url(url),
            data: ajax_data(data),
            success (result, status, xhr){
                if (ajax_success(result, status, xhr) === true) {
                    typeof(callback) == "function" && callback(result, status, xhr);
                }
            },
            error (xhr, status, error) {
                if (ajax_error(xhr, status, error) === true) {
                    typeof(errCallback) == "function" && errCallback(xhr, status, error);
                }
            }
        });
    }
}

注:我只放了一个post的请求方法,如需更多请自行扩展

main.js 中添加以下内容


import $ from 'jquery'
import request from './request/request.js'

Vue.prototype.request = request;

使用:

this.request.post("test", {}, function(){
    console.log('success');
}, function(){
    console.log('error');
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐