使用jQuery.ajaxPrefilter()处理统一请求根路径

jQuery.ajaxPrefilter()函数用于指定预先处理 Ajax 参数选项的回调函数。(可以理解为请求拦截器了,在请求前做一些事件处理)。

每次调用$.get()$.post()$.ajax()的时候,会先调用ajaxPrefilter()这个函数,在这个函数中,可以拿到我们给 Ajax 提供的配置对象:

$.ajaxPrefilter( function( options ) {
	console.log(options.url) // 获取出请求的地址
    //发起真正的 Ajax 请求之前,统一拼接请求的根路径
    options.url = '跟路径' + options.url
});

经过以上配置后,在进行$.get()$.post()$.ajax()的请求的时候,url 就可以不写跟路径了。

如下代码:

  // 监听登录表单的提交事件
  $('#form_login').submit(function(e) {
    // 阻止默认提交行为
    e.preventDefault()
    $.ajax({
      url: '/api/login', //这里就不用在写根路径了
      method: 'POST',
      // 快速获取表单中的数据
      data: $(this).serialize(),
      success: function(res) {
        if (res.status !== 0) {
          return layer.msg('登录失败!')
        }
        layer.msg('登录成功!')
        // 将登录成功得到的 token 字符串,保存到 localStorage 中
        localStorage.setItem('token', res.token)//token:令牌 
        // 跳转到后台主页
        location.href = '/index.html'
      }
    })
  })

以上就是使用jQuery.ajaxPrefilter()处理统一请求根路径方法,希望对大家用帮助。

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » 使用jQuery.ajaxPrefilter()处理统一请求根路径

发表回复