原生ajax请求
Posted ALHH
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原生ajax请求相关的知识,希望对你有一定的参考价值。
原生ajax请求:
// ajax四步:创建XMLHttpRequest对象,连接服务器,发送请求,接收响应数据 ajax: function (options) { options = options || {}; options.type = (options.type || "GET").toUpperCase(); options.dataType = options.dataType || ‘json‘; var xhr = new XMLHttpRequest(); var arr = []; if (options.params) { for (var key in options.params) { arr.push(encodeURIComponent(key) + "=" + encodeURIComponent(options.params[key])) } var postData = arr.join("&") options.url = options.url + "?" + postData } xhr.onreadystatechange = function () { if (xhr.readyState == 4) { var status = xhr.status; if (status >= 200 && status < 300) { try { options.success && options.success(JSON.parse(xhr.responseText)) } catch (e) { options.success && options.success(xhr.responseText) } } else { options.fail && options.fail(status) } } } if (options.type == "GET") { xhr.open("GET", options.url, true) xhr.send(null) } else if (options.type == "POST") { xhr.open("POST", options.url, true) xhr.setRequestHeader("Content-Type", "application/json") xhr.send(JSON.stringify(options.data)) } },
然后在登录时候调用,注意这里要考虑到post传参和url也传参的情况,网上大多都没有处理这种情况!!!
login.ajax({ url: ‘/login‘, type: ‘POST‘, params: { Phone: phone }, success: function (response) { }, fail: function (status) { } })
以上是关于原生ajax请求的主要内容,如果未能解决你的问题,请参考以下文章