Vueaxiosはdeleteメソッドを使用してパラメーターを渡します

Axiosには、追加、削除、変更、および対応するpost、delete、patch、getメソッドがあります。次に、deleteメソッドで発生したピットを記録しましょう。


1.パッケージaxios

import Vue from 'vue'
import axios from 'axios'
import {
    
     Message, Loading } from 'element-ui'
import Cookies from 'js-cookie'
import router from '../../router/index'

// Vue.prototype.axios = axios;
// axios.defaults.withCredentials = true;


// Add a request interceptor

let loading  //定义loading变量
function startLoading() {
    
     //使用Element loading-start 方法
    loading = Loading.service({
    
    
        lock: true,
        text: '加载中……',
        background: 'rgba(0, 0, 0, 0.7)'
    })
}
function endLoading() {
    
     //使用Element loading-close 方法
    loading.close()
}
let needLoadingRequestCount = 0
export function showFullScreenLoading() {
    
    
    if (needLoadingRequestCount === 0) {
    
    
        startLoading()
    }
    needLoadingRequestCount++
}

export function tryHideFullScreenLoading() {
    
    
    if (needLoadingRequestCount <= 0) return
    needLoadingRequestCount--
    if (needLoadingRequestCount === 0) {
    
    
        endLoading()
    }
}


//http request 拦截器
axios.interceptors.request.use(
    config => {
    
    
        var token = ''
        if (typeof Cookies.get('webToken') === 'undefined') {
    
    

        } else {
    
    
            token = Cookies.get('webToken')
        }
        config.headers = {
    
    
            'Content-Type': 'application/json'
        }
        if (token != '') {
    
    
            config.headers.Authorization = token;
        }
        showFullScreenLoading()
        return config;
    },
    error => {
    
    
        tryHideFullScreenLoading()
        return Promise.reject(error);
    }
);


//http response 拦截器
axios.interceptors.response.use(
    response => {
    
    
        //当返回信息为未登录或者登录失效的时候重定向为登录页面
        if (response.data.code == '-2' || response.data.msg == '身份认证失败,请重新登录') {
    
    
            router.push({
    
    
                path: "/loginPass",
                query: {
    
     redirect: router.currentRoute.fullPath }//从哪个页面跳转
            })
        }
        tryHideFullScreenLoading()
        return response;
    },
    error => {
    
    
        tryHideFullScreenLoading()
        return Promise.reject(error)
    }
)
export default axios;

2.api.js

import axios from './index'
import domain from './domain'
let baseUrl = domain.domain


export const focusAdd= function (params) {
    
    
  return axios.post(`${
      
      baseUrl}`+"/relation/subscroption", params);
}


export const focusDel = function (params) {
    
    
  return axios.delete(`${
      
      baseUrl}`+"/relation/subscroption", {
    
    data:params});
}

export const wenyangDetail = function (params) {
    
    
  return axios.get(`${
      
      baseUrl}`+"/nation/pattrns/allInfo", {
    
    params});
}

正直なところ、まだhttpプロトコルがよくわかりません。これはプロジェクトの概要です。削除するときは、パラメータをparamsとbodyで渡すことができます。paramsでは、次のようにgetと同じです{params }、in本体にある場合、この{data:params}のように、別のレイヤーをラップする必要があります。問題ありません。(注:パラメーターは渡されたパラメーターです)

おすすめ

転載: blog.csdn.net/weixin_44994372/article/details/102700867