我的用例:如何在不使用request
的情况下在浏览器中通过具有载体授权的API获取数据?
例如:我可以使用request
模块在Node.js中执行以下操作:
var request = require('request');
var headers = {
'Accept': 'application/json',
'Authorization': 'Bearer bearer-token-uuid'
};
var options = {
url: 'https://api.data.umac.mo/service/facilities/access_control_records/v1.0.0/all',
headers: headers
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
我该如何在没有普通JavaScript且没有库的浏览器中执行此操作?
答案 0 :(得分:1)
注意:您永远不会希望将任何身份验证令牌硬编码到脚本本身中。您将从oauth调用中获取令牌并将其传递给您的请求。
如果您正在寻找一种在客户端(例如,在浏览器中而不是在节点中)进行操作的方法,则标准方法是使用fetch API。
示例:
const headers = {
'Accept': 'application/json',
'Authorization': 'Bearer 48267b68-d989-3610-9287-4943e8590eb0'
};
const url = 'https://api.data.umac.mo/service/facilities/access_control_records/v1.0.0/all';
window.fetch(url, { headers })
.then(response => response.json())
.then(body => {
console.log(body);
})
.catch(e => console.error(e));
请注意,根据您需要支持的浏览器,可能需要polyfill fetch。