React fetch 패키지
3377 단어 react.
export const $http = {
URL:' url',
UrlEncode: (obj) => {
if(!obj || Object.prototype.toString.call(obj) !== '[object Object]'){
return '';
}
let params = [];
for(let key in obj) {
params.push(encodeURIComponent(key) + '=' + encodeURIComponent(obj[key]));
}
return params.join('&');
},
get: (Nothis,Objson) => {
let Alldata = '';
if(Objson.data) {
Alldata = '?' + $http.UrlEncode(Objson.data);
}
fetch(`${$http.URL}${Objson.url}${Alldata}`,{
method:'get',
mode:'cors',
headers:{
'Access-Token': localStorage.getItem('token')
},
}).then((res) => {
// http ,
if(res.status !== 200) {
throw res.status
}else{
let Data;
switch (Objson.dataType) {
case 'json':
{
Data = res.json()
}
break;
case 'text':
{
Data = res.test()
}
break;
}
return Data
}
}).then((res) => {
Objson.success.call(Nothis, res)
}).catch(( error ) => {
if(Objson.error) {
Objson.error.call(Nothis,error)
}
});
},
post:( Nothis , Objson) => {
let formData = new FormData();
if( Objson.data ) {
let OB = Objson.data;
for(let i in OB ){
formData.append(i,OB[i])
}
}
fetch(`${$http.URL}${Objson.url}`, {
method: 'post',
mode: 'cors',
headers: {
'Access-Token' : localStorage.getItem('token')
},
body:formData
}).then( ( res ) => {
if(res.status !== 200 ){
throw res.status
}else{
let Data;
switch ( Objson.dataType ) {
case 'json':{
Data = res.json()
}
break;
case 'text':{
Data = res.test()
}
break;
}
return Data
}
}).then(( res ) => {
Objson.success.call(Nothis, res)
}).catch(( error ) => {
if(Objson.error ) {
Objson.error.call(Nothis,error)
}
});
},
jump:() => {
fetch(`${$http.URL} url`, {
method:'get',
mode:'cors',
headers:{
'Access-Token': localStorage.getItem('token')
},
}).then(( res ) => {
if(res.status !== 200) {
throw res.status
}
}).catch(( error ) => {
if(isNaN(error)) {
if(error.message.substring(0,6) === 'Failed'){
alert(' , ')
}
return
}
if(error === 401) {
localStorage.removeItem('token');
localStorage.removeItem('thisToken');
localStorage.setItem('exitState','2')
window.location.href = window.location.protocol + '//' + window.location.host + 'login'
}
})
}
}
쓰다
//
import { $http } from '@function/http'
//
$http.get(this, {
url: "/live/visit/front/save",
dataType: "json",
success: function (res) { },
});
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
nginx 에서 사이트 아이콘 표시 설정전단 개발 환경: react:^16.4.1 webpack:^4.16.0 웹 팩 에 favicon. ico 설정 추가: nginx 는 ico 에 대한 지원 을 추가 합 니 다:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.