实现从Postman到React Native的API查询

时间:2016-08-22 18:47:47

标签: react-native postman

我有获取门票列表的API方法。当我在postman(chrome扩展)中尝试这种方法时,一切都很好。当我在本地反应中尝试相同时,它在授权方面存在一些问题 - 但我在两种情况下都使用相同的标记。

有Postman查询,其工作正确:

var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://example.com/api/tickets/list",
  "method": "GET",
  "headers": {
    "authorization": "MzA4YTcwZjI2OGMMzNDhlZGVhYjUyNzQxNg==",
    "cache-control": "no-cache",
    "postman-token": "dc861781-6989-5707-d41f-ab52abda037d"
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

我估计有一个带有相同数据的反应原生获取方法,但是无法正常工作:

        var url = 'https://example.com/api/tickets/list';
        fetch(url, {
            method: 'GET',
            headers: {
                'Authorization': 'MzA4YTcwZjI2OGMMzNDhlZGVhYjUyNzQxNg==',
                'Cache-control': 'no-cache',
                'Content-Type': 'application/json'
            }
        })
        .then((response) => {
            console.log(response);
            return response.json();
        })
        .then((responseData) => {
            var ticketList = responseData;
            console.log(ticketList);
            this.setState({
                dataSource: this.state.dataSource
                    .cloneWithRows(ticketList)
            });
        })
        .catch((error) => {
            console.log(error);
        });

怎么了?

1 个答案:

答案 0 :(得分:1)

这是因为fetch方法取代了 A uthorization'用' a uthorization' (第一个字母的不同情况)。