• axios,ajax,xhr 请求携带Cookie


    1、axios 请求携带Cookie 方法:

    withCredentials: true
    eg:

    2、ajax 携带方法:

     $.ajax({ 
      url: Domain + '/sysback/purchase/purchasedemand/getNowLoginOrgId',
           dataType: "json",
           method: "POST",
      xhrFields: {     //携带Cookie 
              withCredentials: true
          },
         crossDomain: true,
       success: function (ret) {
       }
        })    
        
     
    3、导出时使用post导出,携带Cookie 
     
    //导出
    exportRecord: function(){
          var Domain = this.$http.defaults.baseURL
          let that = this
          that.$confirm('确认导出?', '提示', {
            confirmButtonText: '确定',
            cancelButtonText: '取消',
            type: 'warning'
          }).then(function () {
            that.loading = true;
            var paramData = that.query; //导出需要的传参
            var xhr = new XMLHttpRequest();
            var url = Domain + '/maintain/maintain/serviceHandle/downloadService';
            xhr.open('POST', url, true);
            xhr.withCredentials = true;  //携带Cookie 
            // 设置请求头参数,可以添加token值
            xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
            // 设置响应体返回类型,这里需要把返回的文件流转换成 blob 类型
            xhr.responseType = 'blob';
            xhr.onload = function (e) {
              if (this.status == 200) {
                that.loading = false;
                // 这里从 响应头里面取出 文件名称,根据实际情况操作
                var name = xhr.getResponseHeader('Content-disposition');
                name = decodeURIComponent(name);
                // 这里对文件名进行操作,是根据实际情况操作的
                var fileName = name.substring(20, name.length);
                // 返回的文件流,转换成blob对象
                var blob = new Blob([xhr.response]);
                // 转换成blob类型的url
                var blobUrl = URL.createObjectURL(blob);
                // 模拟 a 标签进行下载
                var eLink = document.createElement('a');
                // 设置 a 标签的展示方式,默认 display:none
                eLink.style.display = 'none';
                // 设置 a 标签的 url
                eLink.href = blobUrl;
                // 设置 下载文件的文件名称
                eLink.download = fileName;
                document.body.appendChild(eLink);
                eLink.click();
                document.body.removeChild(eLink);
              }
            };
            xhr.send(JSON.stringify(paramData));
          }).catch(function (error) {
            console.log(error)
            that.$message({
              type: "info",
              message: "已取消导出"
            });
          });
        },
  • 相关阅读:
    Java位运算总结-leetcode题目
    【Java心得总结七】Java容器下——Map
    【Java心得总结六】Java容器中——Collection
    【Java心得总结五】Java容器上——容器初探
    【Java心得总结四】Java泛型下——万恶的擦除
    【Java心得总结三】Java泛型上——初识泛型
    【Java心得总结二】浅谈Java中的异常
    Opencv摄像头实时人脸识别
    【Java心得总结一】Java基本类型和包装类型解析
    Opencv VideoCapture实时捕捉摄像头信息
  • 原文地址:https://www.cnblogs.com/lidonglin/p/15218484.html
Copyright © 2020-2023  润新知