zoukankan      html  css  js  c++  java
  • 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: "已取消导出"
            });
          });
        },
  • 相关阅读:
    JSP动作--JSP有三种凝视方式
    osgi实战学习之路:5.生命周期及利用命令、装饰者模式实现基于socket交互Bundle命令demo
    一个int类型究竟占多少个字节
    FORM验证简单demo
    centOS设为文本启动方式
    定时关机命令——shutdown
    【剑指offer】Q38:数字在数组中出现的次数
    Union和Union All的差别
    基于协同过滤的推荐引擎
    Java实现 蓝桥杯VIP 算法提高 企业奖金发放
  • 原文地址:https://www.cnblogs.com/lidonglin/p/15218484.html
Copyright © 2011-2022 走看看