2023年8月1日发(作者:)
使⽤加兼容处理⼲什么⽤的?是浏览器上获取异步资源请求的全局fetch⽅法,是基于基于Promise的。可以替代XMLHttpRequest 进⾏异步请求兼容性例⼦rt { baseUrl } from './env'export default async(url = '', data = {}, type = 'GET', method = 'fetch') => { type = rCase(); url = baseUrl + url; if (type == 'GET') { let dataStr = ''; //数据拼接字符串 (data).forEach(key => { dataStr += key + '=' + data[key] + '&'; }) if (dataStr !== '') { dataStr = (0, dexOf('&')); url = url + '?' + dataStr; } } if ( && method == 'fetch') { let requestConfig = { credentials: 'include', method: type, headers: { 'Accept': 'application/json', //⾃⼰可以接收的数据类型 'Content-Type': 'application/json' //请求信息的格式 }, mode: "cors", cache: "force-cache" } if (type == 'POST') { Property(requestConfig, 'body', { value: ify(data) }) }
try { const response = await fetch(url, requestConfig); //Promise对象 所以⽤await ('response1',response ) // Response对象 ('response1',response ) // Response对象 const responseJson = await (); //fetch中的json⽅法将Response对象转成json对象 ('responseJson',responseJson) return responseJson } catch (error) { throw new Error(error) } } else { //不⽀持的还⽤XMLHttpRequest 结合Promise return new Promise((resolve, reject) => { let requestObj; if (pRequest) { requestObj = new XMLHttpRequest(); } else { requestObj = new ActiveXObject; } let sendData = ''; if (type == 'POST') { sendData = ify(data); } (type, url, true); uestHeader("Content-type", "application/x-www-form-urlencoded"); (sendData); ystatechange = () => { if (tate == 4) { if ( == 200) { let obj = se if (typeof obj !== 'object') { obj = (obj); } resolve(obj) } else { reject(requestObj) } } } }) }}api接⼝定义部分内容export const login = data => fetch('/admin/login', data, 'POST');
发布者:admin,转转请注明出处:http://www.yc00.com/news/1690836122a441508.html
评论列表(0条)