我有获取门票列表的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);
});
怎么了?
答案 0 :(得分:1)
这是因为fetch
方法取代了 A uthorization'用' a uthorization' (第一个字母的不同情况)。