function Ajax({ type = "GET", url = "", async = true, params = {}, responseType = "text", contentType = "application/x-www-form-urlencoded", //xhr.setRequestHeader("Content-Type",option.contentType); done = () => {}, fail = () => {} }) { type = type.toUpperCase(); params = formatParams(params); //创建xhr对象 step1 const xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(); xhr.responseType = responseType; //接收 step3 xhr.onreadystatechange = () => { if (xhr.readyState === 4) { const status = xhr.status; if (status >= 200 && status < 300) { done(response); } else { fail(status); } } } //发送 step2 if (type === "GET") { xhr.open("GET", url + "?" + params, async); xhr.send(null); } else if (type === "POST") { xhr.open("POST", url, async); //设置表单提交时的内容类型 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send(params); } } function formatParams(params) { const arr = []; for (let name in params) { arr.push(encodeURIComponent(name) + "=" + encodeURIComponent(params[name])); } arr.push(("_=" + Math.random()).replace(".", "")); return arr.join("&"); }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/107372.html
摘要:问题前端小同学在做页面的时候,犯了个常见的错误把多个请求顺序着写下来了,而后面的请求,对前面请求的返回结果,是有依赖的。经提醒,发现从版开始,返回的就是对象了,那么函数可以直接返回的返回值 问题 前端小同学在做页面的时候,犯了个常见的错误:把多个Ajax请求顺序着写下来了,而后面的请求,对前面请求的返回结果,是有依赖的。如下面的代码所示: var someData; $.ajax({ ...
摘要:本文详细讲述如何使用原生和来实现。使用可以无刷新地向服务端发送请求接收服务端响应,并更新页面。分别要用到的方法和方法。,,都是现在和未来解决异步的标准做法,可以完美搭配使用。这也是使用标准一大好处。 本文详细讲述如何使用原生 JS、jQuery 和 Fetch 来实现 AJAX。 AJAX 即 Asynchronous JavaScript and XML,异步的 JavaScript...
摘要:属性是此次响应的文本内容。我们可以通过属性,指定这个事件的回调函数,对不同状态进行不同处理。尤其是当状态变为的时候,表示通信成功,这时回调函数就可以处理服务器传送回来的数据。由于临时的服务器维护或者过载,服务器当前无法处理请求。 XMLHttpRequest JSON AJAX CORS 四个名词来开会 如何发请求 在前端的世界里也逛荡了不少日子了,目前已经get到大约5种发起请求...
阅读 3191·2021-11-23 09:51
阅读 971·2021-08-05 09:58
阅读 633·2019-08-29 16:05
阅读 922·2019-08-28 18:17
阅读 2988·2019-08-26 14:06
阅读 2692·2019-08-26 12:20
阅读 2116·2019-08-26 12:18
阅读 3028·2019-08-26 11:56