目的:我们每次发请求,如果都需要拼接字符串的话,会特别浪费时间,以及不利于后期维护
例如如下代码:
$('#form_login').on('submit', function (e) { e.preventDefault(); $.ajax({ url: 'http://api-breakingnews-web.itheima.net/api/login', method: 'POST', // 快速获取表单中的数据 data: $(this).serialize(), success: function (res) { if (res.status !== 0) { return layer.msg('登录失败!') } layer.msg('登录成功!') // 将登录成功得到的 token 字符串,保存到 localStorage 中 console.log(res.token); localStorage.setItem('token', res.token) // 跳转到后台主页 location.href = './index.html'; } })
使用$.ajaxPrefilter优化之后的代码
//注意每次发起ajax请求都会先调用这个函数 //这个函数中能拿到我们给ajax提供的配置对象 $.ajaxPrefilter(function (options) { //在发起真正的ajax之前,统一拼接请求的根路径 options.url = 'http://api-breakingnews-web.itheima.net' + options.url; console.log(options.url); })
上面这个函数在登录的html页面中也要导入(是一个单独的base.js) $('#form_login').on('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 中 console.log(res.token); localStorage.setItem('token', res.token) // 跳转到后台主页 location.href = './index.html'; } })
标签:Jquery,function,登录,url,res,ajaxprefilter,token,ajax From: https://www.cnblogs.com/alwaysrun/p/16594471.html