手写promise版本ajax
2017-09-06 22:34
204 查看
// ajax函数将返回Promise对象:
function ajax(method, url, data) {
var request = new XMLHttpRequest();
return new Promise(function (resolve, reject) {
request.onreadystatechange = function () {
if (request.readyState === 4) {
if (request.status === 200) {
resolve(request.responseText);
} else {
reject(request.status);
}
}
};
request.open(method, url);
request.send(data);
});
}
var log = document.getElementById('test-promise-ajax-result');
var p = ajax('GET', '/api/categories');
p.then(function (text) { // 如果AJAX成功,获得响应内容
log.innerText = text;
}).catch(function (status) { // 如果AJAX失败,获得响应代码
log.innerText = 'ERROR: ' + status;
});
如果你想详细了解promise: http://www.jianshu.com/p/05de7c1ef080
如果你想了解promise与ajax: http://www.cnblogs.com/284628487a/p/5556144.html
function ajax(method, url, data) {
var request = new XMLHttpRequest();
return new Promise(function (resolve, reject) {
request.onreadystatechange = function () {
if (request.readyState === 4) {
if (request.status === 200) {
resolve(request.responseText);
} else {
reject(request.status);
}
}
};
request.open(method, url);
request.send(data);
});
}
var log = document.getElementById('test-promise-ajax-result');
var p = ajax('GET', '/api/categories');
p.then(function (text) { // 如果AJAX成功,获得响应内容
log.innerText = text;
}).catch(function (status) { // 如果AJAX失败,获得响应代码
log.innerText = 'ERROR: ' + status;
});
如果你想详细了解promise: http://www.jianshu.com/p/05de7c1ef080
如果你想了解promise与ajax: http://www.cnblogs.com/284628487a/p/5556144.html
相关文章推荐
- Datatables插件1.10.15版本服务器处理模式ajax获取分页数据实例解析
- IE9版本以下ajax 跨域问题解决
- 设置Asp.net Ajax 客户端脚本版本
- struts2.1.2 版本 ajaxtags及其他插件的更改(二)
- ajax开发:Promise解决多个异步Ajax请求导致的代码嵌套问题
- 手写ajax
- 兼容早期IE版本的 Ajax 实例
- ajax:AutoCompleteExtender版本问题
- 手写ajax
- PHP AjaxGrid自动生成工具测试版本开发完成
- 数据库中表版本控制与xml数据岛构成的ajax?
- 惰性思想处理Ajax低版本IE兼容问题
- asp.net手写AJAX实现类似Google的搜索提示
- 用Promise实现两个Ajax有序进行
- 解决在Safari、IE高版本中采用自定义选择文件按钮ajaxFileUpload不能上传问题
- ajax的三个版本
- promise中调用ajax
- 怎么手写Ajax实现异步刷新
- 基于HTML5 Ajax文件上传进度条如何实现(jquery版本)
- CAS之5.2x版本之Ajax方式提交表单-yellowcong