avalon官方AJAX库fetch polyfill 宣布0.02版,修复浩瀚BUG。
https://github.com/RubyLouvre…
用法示例
avalon.fetch('/getAjax?aaa=1&&bb=2',{
method: 'GET'
}).then(function(a){
return a.json()
}).then(function(a){
console.log(a)
})
avalon.fetch('/postAJax', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
firstParam: 'yourValue',
secondParam: 'yourOtherValue',
})
}).then(function(a){
return a.json()
}).then(function(a){
console.log(a)
})
function toQueryString(obj) {
return obj ? Object.keys(obj).sort().map(function (key) {
var val = obj[key];
if (Array.isArray(val)) {
return val.sort().map(function (val2) {
return encodeURIComponent(key) + '=' + encodeURIComponent(val2);
}).join('&');
}
return encodeURIComponent(key) + '=' + encodeURIComponent(val);
}).join('&') : '';
}
avalon.fetch('/postAJax', {
method: 'post',
headers: {
'Accept': 'application/json, text/plain, */*',
'Content-Type': 'x-www-form-urlencoded'
},
body: toQueryString({
'name': 'aaa',
'pw':'bbb'
})
}).then(function(a){
return a.json()
}).then(function(a){
console.log(a)
})
装置fetch 库
$ npm install fetch-polyfill2 --save
$ npm install bluebird -- save
$ npm install json3 -- save
运转例子
跑到koa目录下
npm install
node index
浏览器下翻开localhost: 4000