React Native Fetch Request网络错误

时间:2018-06-13 11:00:18

标签: react-native fetch

我之前看到类似查询的答案,但我仍然看到网络错误。

这是我的代码:

let base64 = require('base-64');

let url = 'https://super_secret.com';
let username = '**supersecret**';
let password = '**supersecret**';

let headers = new Headers();
//headers.append('Content-Type', 'text/json');
headers.set('Authorization', 'Basic ' + base64.encode(username + ":" + password));

let APIcall = function checkOrgCode() {
  return fetch(url, {
    method: 'GET',
    headers: headers
  })
    .then((response) => response.json())
    .then((responseJson) => {
      console.log(responseJson);
    })
    .catch((error) => {
      console.error(error);
    });
};

如果我注释掉headers.headers并测试一个简单的未经授权的API,例如https://jsonplaceholder.typicode.com/posts/1,那么一切正常,所以显然授权失败。

当我在邮递员中测试我的API和标题时,一切都很好。我也尝试直接将base64编码的字符串直接放在头文件中,而不是在我的代码中使用encode函数。

2 个答案:

答案 0 :(得分:0)

不要使用new Headers()来创建标题,而只需尝试一个基本对象,以简化生活:

return fetch(url, {
  method: '**PROPER METHOD HERE**',
  headers: {
    // 'Content-Type': 'application/json',
    'Authorization': `Basic ${base64.encode(username + ":" + password)}`
  }
})

答案 1 :(得分:0)

嗯,所以问题是我使用的网址还没有到位。我一直在使用一个主机名文件hack哪个可以在我的电脑上使用postman,但不是我正在测试的其他移动设备。