Reagir de Autorização nativos com várias partes de dados de forma a ficar de Rede falha na solicitação

Eu quero chamar a solicitação POST API na minha Reagir aplicativo Nativo e abaixo está o meu código

Cabeçalho

export const buildHeaderWithAuthorize = (headerParams = {}) => {
const header = {
 Accept: 'application/json',
 'Content-Type': 'multipart/form-data',
 Authorization: 'Basic dGVzdGp3dGNsaWVudGlkOlhZN2ttem9OemwxMDA=',
};
 Object.assign(header, headerParams);
return header;
};

A função de chamada de API

loginPasscode: (onResponse, data, isHeaderRequired) => {
request(
  onResponse,
  data,
  'POST',
  'JSON',
  isHeaderRequired,
  globals.mainUrl + globals.loginPasscode,
  buildHeaderWithAuthorize()
);
},

Main.js

const bodyData = new FormData();
bodyData.append('grant_type', 'password');
bodyData.append('username', 'LrNqaszcotY7jD/OsvopTQ==');
bodyData.append('password', '123456');
API.loginPasscode(this.responseLogin, bodyData, true);

Chamada De Pedido De

async function request(
onResponse,
data,
type,
returnType,
isHeaderRequired,
featureURL,
secureRequest
) {
 let response = '';
 let responseJSON;

 try {
  if (type === 'GET') {
   if (isHeaderRequired) {
    console.log('Request Call get with Header');
    response = await timeout(
      globals.timeoutDuration,
      fetch(featureURL, {
        method: type,
        headers: secureRequest,
      })
    );
  } else {
    console.log('Request Call get without header');
    response = await timeout(
      globals.timeoutDuration,
      fetch(featureURL, {
        method: type,
      })
    );
  }
} else if (secureRequest['Content-Type'] === 'multipart/form-data') {
  console.log('MULTIPART Request Call');
  response = await timeout(
    globals.timeoutDuration,
    fetch(featureURL, {
      method: type,
      headers: secureRequest,
      body: data,
    })
  );
} else {
  console.log('Request Call post with header');
  response = await timeout(
    globals.timeoutDuration,
    fetch(featureURL, {
      method: type,
      headers: secureRequest,
      body: JSON.stringify(data),
    })
  );
}
// console.log("response " + JSON.stringify(response));
console.log(`response status ${response.status}`);
if (returnType === 'TEXT') {
  responseJSON = await response.text();
} else if (returnType === 'HTML') {
  responseJSON = await response.html();
} else {
  responseJSON = await response.json();
}
console.log(`responseJSON ${JSON.stringify(responseJSON)}`);

if (response.status === 200 && responseJSON.status === 'success') {
  console.log('onResponse success ');
  onResponse.success(responseJSON);
} else if (response.status === 440) {
  console.log('onResponse 440 ');
  // onResponse.error(responseJSON);
  if (Platform.OS === 'ios') {
    const errorMsg = globals.checkObject(responseJSON, 'message')
      ? responseJSON.message
      : JSON.stringify(responseJSON);
    // AsyncStorage.clear()
    Alert.alert(
      globals.appName,
      errorMsg,
      // [{ text: 'OK', onPress: () => RNRestart.Restart() }],
      { cancelable: false }
    );
  } else {
    const isErrorMsg = globals.checkObject(responseJSON, 'message');
    isErrorMsg
      ? Alert.alert(globals.appName, responseJSON.message)
      : Alert.alert(globals.appName, JSON.stringify(responseJSON));
  }
} else {
  console.log('onResponse error');
  onResponse.error(responseJSON);
}
if (onResponse.complete) {
  console.log('onResponse complete');
  onResponse.complete();
 }
} catch (error) {
 console.log(`onResponse catch error ${error}`);

 if (!globals.isInternetConnected && onResponse.error) {
  onResponse.error(internetErrorObj);
  console.log('Catch error internal');
} else if (onResponse.error) {
  onResponse.error(JSON.parse(error));
  console.log('Catch error server');
} else {
  console.log('Catch error unkonwn');
  onResponse.error(response.status);
}
if (onResponse.complete) {
  console.log('onResponse catch complete');
  onResponse.complete();
}

} }

Quando eu Executar o código acima, eu tenho cada vez que erro como onResponse pegar erro TypeError: solicitação de Rede falhou tanto na versão de Android e iOS Real do dispositivo, bem como emulador Para que alguém Pode me ajudar como posso resolver este problema? Suas sugestões são apreciáveis.

0
2019-09-17 14:56:23
origem
0 respostas

Veja mais perguntas por marcas