首页 > 其他分享 >jQuery中ajaxPrefilter的应用[设置通用参数]

jQuery中ajaxPrefilter的应用[设置通用参数]

时间:2022-09-22 13:47:46浏览次数:46  
标签:jQuery accountToken originalOptions tm1 ajaxPrefilter params startTime 参数 endTim

$.ajaxPrefilter(function (options, originalOptions, jqXHR) { //tm1、tm2表示开始时间、结束时间
  var requestType, params, startTime, endTime;
  requestType = (originalOptions.type || "").toUpperCase(); //jsonp的时候type为undefined
  if (requestType === "GET") {
    params = originalOptions.data ? $.param(originalOptions.data) : originalOptions.url;
  } else if (requestType === "POST") {
    params = $.param(originalOptions.data);
  }
  if (params) {
    startTime = params.match(/(^tm1|&tm1)=([^&#]*)/i) ? decodeURIComponent(params.match(/(^tm1|&tm1)=([^&#]*)/i)[2].replace(/\+/g, "%20")) : null;
    endTime = params.match(/(^tm2|&tm2)=([^&#]*)/i) ? decodeURIComponent(params.match(/(^tm2|&tm2)=([^&#]*)/i)[2].replace(/\+/g, "%20")) : null;
    if (startTime && endTime) {
      startTime = startTime.replace(/\-/g, "/");
      endTime = endTime.replace(/\-/g, "/");
      if (new Date(startTime).getTime() > new Date(endTime).getTime()) {
        jqXHR.abort();
        alert("开始时间不能大于结束时间");
      }
    }
  }
});
let requestSuccessCode = 200;  // 表示请求成功
let tokenName = "accountToken";
$.ajaxSetup({
    // ajax请求之前进行accountToken封装
    beforeSend: function (xhr) {
        if(accountToken && accountToken != '') {
            xhr.setRequestHeader(tokenName, accountToken);
        }
    },
    // ajax 请求完成返回结果
    complete : function(request) {
        if(request.status == 200) {
            let responseCode = request.responseJSON.code;
            if(responseCode == 6001) {
                clearUserCookie();
                let url = window.location.href;
                redirectLogin(url);
            } else if (responseCode == 6002) {
                window.open("/index.html");
            }
        }
    },
    // 表示请求错误
    error :function(request){
        console.info(request);
    }
})

 

标签:jQuery,accountToken,originalOptions,tm1,ajaxPrefilter,params,startTime,参数,endTim
From: https://www.cnblogs.com/saonian/p/16718933.html

相关文章

  • 关系运算符重载,以及在关系运算符重载发现的函数参数什么时候需要用引用
    在学习关系运算符重载的时候,看见重载函数中的函数参数使用的是引用类型,于是在思考为什么需要用引用,而不是非引用,例如:引用格式:booloperator==(Person&p)非引用格式:bool......
  • js和jQuery的区别(超级详细)
    1概念1.1js概念JavaScript是用于Web客户端开发的脚本语言。1.2jQuery概念jQuery是一个快速、简洁的JavaScript库,极大的简化了javascript编程。jQuery是js的框架,基......
  • jquery实现文件上传
    <!DOCTYPEhtml><html><head><metacharset="utf-8"><scriptsrc="./lib/jquery.js"></script><title></title></head>......
  • springboot前端多传参数报错、前端多传json字段报错
    Springboot多传参数导致JSONparseerror:Unrecognizedfiled...异常   默认情况下@RequestBody标注的对象必须包含前台传来的所有字段。如果没有包含前台传来的......
  • C#-02 传入参数的一些用法2
    C#_02参数应用2一、关于“ref”局部变量和“ref”返回在前面已经明白了ref关键词传递一个对象引用给方法调用,这样在方法中对对象修改过后返回后依然可见,而ref返......
  • JQuery模糊匹配id
    在for循环div标签动态生成id,根据id的值显示或隐藏div标签,就可以用到模糊匹配。[属性名称]匹配包含给定属性的元素[att=value]匹配包含给定属性的元素(大小写区分)[att......
  • 【全网最全】springboot整合JSR303参数校验与全局异常处理
    一、前言我们在日常开发中,避不开的就是参数校验,有人说前端不是会在表单中进行校验的吗?在后端中,我们可以直接不管前端怎么样判断过滤,我们后端都需要进行再次判断,为了安全。......
  • C#-01 关于C#中传入参数的一些用法
    实验环境  实验所处环境位于vs2019环境中学习内容一、最基础的参数传入:值参数对于这种传入,和其他的c,c++编程语言参数传入一样,没有太大差别,在这里给如下例子:虽然这......
  • Python commandline-config简洁命令行配置工具: 一个供用户以Python Dict或JSON格式编
    本文介绍了一个可以直接用pip安装的python工具包commandline-config,适合经常写python代码跑实验的研究生们,工具可以通过Python原生字典dict(支持嵌套)的形式来写实验的参数配......
  • pip安装时-U参数的作用
    例:pipinstall-U scikit-learn答:-U就是--upgrade,意思是如果已安装就升级到最新版注:pipinstall-h命令可以查看其它参数的作用......