我正在尝试使用fetch(browser)发出API请求。标头中必须有令牌才能发出请求。
我可以在节点(服务器端)发出成功的请求。
但是,在浏览器上发出请求时,OPTIONS
请求失败,并显示401。
const order_url = new URL(process.env.API_URL + 'orders/');
const params = { type: 'amazon', status: 'in_queue' };
Object.keys(params).forEach(key => url.searchParams.append(key, params[key]));
const headers = {
Authorization: 'Token ' + process.env.API_TOKEN,
'Content-Type': 'application/x-www-form-urlencoded'
};
fetch(order_url, {
headers
})
.then(response => response.json())
.then(result => {
console.log(result);
})
.catch(error => {
console.error(error)
})
我收到的错误是"NetworkError when attempting to fetch resource."
可以在浏览器上正常运行的正确配置是什么?
答案 0 :(得分:0)
您没有正确发送标题。 试试这个。
myHeaders = new Headers({
'Authorization': 'Token ' + process.env.API_TOKEN,
'Content-Type': 'application/x-www-form-urlencoded'
});
然后
fetch(order_url, {
headers: myHeaders,
method: 'GET'
})