封装fecth请求

import 'whatwg-fetch';

export function fetchData(endpoint) {
let myHeader = {
headers: {
"Authorisation": sessionStorage.getItem('openid'),
"Accept" : 'application/json',
'Content-Type' : 'application/json'
},
method : 'GET',
};
return fetch(endpoint, myHeader)
.then(res=> {
return res.json()
})
.catch(e=> {
console.log(e.message)
})
}
export function postData(endpoint, method = 'post', body = {}) {
let methods = ['GET', 'POST', 'DELETE', 'PUT'];
let myHeader = {
headers: {
"Authorisation": sessionStorage.getItem('openid'),
"Accept" : 'application/json',
'Content-Type' : 'application/json'
},
method : methods[methods.indexOf(method.toUpperCase())],
body : body
};
return fetch(endpoint, myHeader)
.then(res => {
return res.json()
})
.catch(e => {
console.log(e.message)
})
}
export function obj_to_query(path = '/', obj) {
let parts = [];
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
parts.push(encodeURIComponent(key) + '=' + encodeURIComponent(obj[key]));
}
}
return path + "?" + parts.join('&');
}

使用get请求
export function fetchStockData(total, timeRange=''){
return (dispatch, getState)=>{
const club = getState().getClub.club;
return fetchData(obj_to_query(URL + "/",{
m : 'Home',
c : 'Bosspage',
a : 'getCommodityList',
club: club,
total_c:total,
timeRange:timeRange
})).then(data=>{
dispatch(setAddCommodity(data));
dispatch(setMiddleData(data));
})
}
}
使用post请求
export function fetchProcurement(club,name,commodity,number,primeCost,url=''){
return(dispatch,getState)=>{
return postData(obj_to_query(URL + "/",{
m : 'Home',
c : 'Bosspage',
a : 'procurement',
}),'post',JSON.stringify({
club:club,
name:name,
commodity_id:commodity,
number:number,
primeCost:primeCost,
document_url:url,
}))
.then(res=>{
console.log('res',res);
if(res.status == '0001'){
alert('入库成功')
}else {
alert('商品库存写入失败')
}
})
.catch(()=>alert('入库失败'))
}
}
posted @ 2017-01-18 19:08  旧城旧城  阅读(275)  评论(0编辑  收藏  举报