这种封装 ajax 的方法如何(以 get 请求为例)?
发布于 10 年前 作者 CnMonkey 5698 次预览 最后一次回复是 10 年前 来自 问答
下面是我对 ajax 中的 get 请求的封装:
var ajax = {
// var callback = function (responseText) {
// TODO with responseText
// }
get: function (url, callback) {
var xhr = new XMLHttpRequest();
xhr.url = url;
xhr.open('GET', url);
xhr.send(null);
xhr.onreadystatechange = (function (xhr) {
var sub = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
callback(xhr.responseText);
} else if (xhr.status === 404) {
console.log('GET (' + xhr.url + '): 404 not found!');
}
};
return sub;
}(xhr));
},
};
一直觉得 ajax 没有什么特殊的内容,只是一个工具而已。现在的公司在招聘是提的要求都是要求什么熟悉“记忆性的知识”,我觉得这种知识最容易获取了。所以我觉得在招聘时,根本不必要求熟悉 ajax,因为它就是那样,你需要的时候去获取就行了,它就那点东西。
3 回复
很多前端框架都有这个封装把 比如 angular 的 $http
https://github.com/toddmotto/atomic/blob/master/dist/atomic.js
@ifeiteng 抱歉,看不出这种方式有什么特别好的地方,或许 ajax 很平凡