这个封装好了应该用起来挺方便的,有没有最简单的方法,代码量少又实用的?
嘛已经有人提了,我简单补充一下
fetch
是新的用来替代古老的XMLHttpRequest
的接口协议,目前已经被所有safari之外的所有现代浏览器支持
https://developer.mozilla.org...
它的返回就是原生Promise,本身是原生API不需要库,完全符合题主的需求
对于不兼容的部分浏览器,很容易找到对应的polyfill,比如这个,当然,没有Promise支持的浏览器还得继续打上Promise的polyfill
用fetch.js
我已经封装好
https://github.com/RubyLouvre...
fetch polyfill which supports all mainstream browsers, even IE6, IE7, IE8.....
$ npm install fetch-polyfill2 --save
$ npm install bluebird -- save
$ npm install json3 -- save
简单点就是ajax返回一个promise,如下:
function ajax(url) {
return new Promise(function(resolve, reject){
var xml = new XMLHttpRequest();
xml.open('get',url,true);
xml.onload = resolve;
xml.onerror = reject;
xml.send();
} )
}
就可以请求了
ajax(url).then(function(response)).catch(function(err))
Fetch API就是为此而生。