123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>AJAX请求</title>
- </head>
- <body>
- <script>
- /**
- * type:请求类型 -- 必传
- * ajaxUrl:请求地址 -- 必传
- * data:请求参数(格式为object) -- 必传
- * callback:回调函数 -- 必传
- * otherData:回调函数的二次参数 -- 非必传
- * err:请求失败时回调函数 -- 非必传
- */
- function AJAX(type, ajaxUrl, data, callback, otherData, err) { // 默认为post请求,typeof(data) == 'string'是为get请求
- // 处理类型
- var ajaxType = 'post';
- if(type && typeof type == 'string') {
- type === 'get' ? (ajaxType = 'get') : (ajaxType = 'post')
- }
- // get请求参数处理,post请求即为object,不需要处理
- var datas;
- if(ajaxType === 'get') {
- if (!data || typeof data !== 'object') {
- return ''
- }
- var arr = [];
- for (var k in data) {
- var temp = k + '=' + (data[k] || data[k] == 0 ? data[k] : '');
- arr.push(temp);
- }
- datas = arr.join('&');
- } else {
- datas = data;
- }
- // 如果需要传入请求头
- var headers = {}
- var User_token = sessionStorage.getItem('Token'); //登录时获取的token,存到sessionStorage,然后获取放到这
- if (User_token) {
- headers = { "Authorization-Token": User_token || '' }
- }
- $.ajax({
- headers: headers,
- type: ajaxType,
- url: ajaxUrl,
- dataType: 'json',
- data: datas,
- contentType: 'application/x-www-form-urlencoded; charset=utf-8',
- success: function (res) {
- if (callback) {
- callback(res, otherData);
- }
- },
- error: function (res, textStatus, errorThrown) {
- if (err && typeof err == 'function') {
- err();
- } else {
- layui.layer.msg('请求异常,请重新请求', { time: 1500 });
- }
- }
- })
- }
- // 接口使用例子
- // var datas = {
- // name: 'zs',
- // age: 18
- // };
- // var ajaxUrl = 'https://www.baidu.com/'
- // AJAX('post', ajaxUrl, datas, function (res) {
- // if(res.code === 0) {
- // // 请求接口返回数据后的操作
- // }
- // })
- </script>
- </body>
- </html>
|