Vue axis proxy request was unsuccessful, cross-domain and reported an error

1.vue axios cross-domain request, the backend has been configured to allow cross-domain, and the agent also reported an error when accessing the cross-domain
2. Is the proxy access address configured or localhost

< hr >

axios.defaults.headers.common ["Access-Control-Allow-Origin"] = "*";
axios.defaults.headers.post [" Content-Type"] = "application/x-www-form-urlencoded";

< hr >

proxyTable: {

  "/apis": {
    target: "http://192.168.1.109/xxx/aa", 
    changeOrigin: true,
    pathRewrite: {
      "^/apis": "" 
      }
  }
}


< hr >

this.$http.post ("/ apis/bbb/cccc", {

)
  json:JSON.stringify({})
})
.then(function (response) {
  console.log(response);
})
.catch(function (error) {
  console.log(error);
});

3. An error was reported in the request result

Request header field Access-Control-Allow-Origin is not allowed by Access-Control-Allow-Headers in preflight response.

Error: Request failed with status code 404

at createError (createError.js?16d0:16)
at settle (settle.js?db52:18)
at XMLHttpRequest.handleLoad (xhr.js?ec6c:77)
Mar.20,2021

I share the logic of my foreground and background requests
this is axios's:

axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'
//axios.defaults.headers.post['Content-Type'] = 'multipart/form-data'
axios.defaults.retry = 4
axios.defaults.timeout = 10000
axios.defaults.withCredentials = true
// code200
axios.interceptors.response.use((res) => {
    if(res.status === 654) {
        console.log('')
    }
    if(res.data.code < 200 && res.data.code >= 300) {
        console.error('')
        return Promise.reject(res)
    }
    return res
}, (error) => {
    let config = error.config
    if(!config || !config.retry) return Promise.reject(error)
    config.__retryCount = config.__retryCount || 0
    
    if(config.__retryCount >= config.retry) {
        console.log('promise error:' + error)
        return Promise.reject(error)
    }
    config.__retryCount += 1
    
    let backoff = new Promise(function(resolve) {
        setTimeout(function() {
            resolve()
        }, config.retryDelay || 1)
    })
    
    return backoff.then(function() {
        return axios(config)
    })
})

Node server built with express:

// 
app.all("*", function(req, res, next) {
    if(req.path !== "/" && !req.path.includes(".")) {
        res.header("Access-Control-Allow-Credentials", true);
        //  origin   *
        res.header("Access-Control-Allow-Origin", req.headers["origin"] || "*");
        res.header("Access-Control-Allow-Headers", 'Content-Type,Content-Length, Authorization,\'Origin\',Accept,X-Requested-With');
        res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
        res.header("Content-Type", "application/json;charset=utf-8");
    }
    let ip = getClientIp(req)
    ul.getByIP(ip)
    io.emit('updateMapBack', JSON.stringify(m.getMap()))

    next();
});
Menu