#javascript #fetch-api
#javascript #fetch-api
Вопрос:
Я пытаюсь извлечь данные API из antares (платформа IoT), используя собственный javascript, вот код
var url = 'https://platform.antares.id:8443/~/antares-cse/antares-id/SuhuPagarsih/Temperature/la';
var opt = {
method: 'GET',
mode: 'no-cors',
headers: {
'X-M2M-Origin': 'bdc2996719c6ac07:8cbb60e9c5997e74',
'Content-Type': 'application/json;ty=4',
'Accept':'application/json',
},
}
fetch(url, opt)
.then(function(data) {
console.log(data)
})
.catch(function(err) {
console.error(err)
})
Вот результат
как вы можете видеть, это сбой. Большую часть времени я вижу, что причина ошибки запрещена. Но когда я пытаюсь использовать node js и фрагмент кода из postman. Я получаю хороший результат (200 OK) Вот код, если вам нужно сравнить (я думаю, это все то же самое)
var http = require("https");
var options = {
"method": "GET",
"hostname": "platform.antares.id",
"port": "8443",
"path": "/~/antares-cse/antares-id/SuhuPagarsih/Temperature/la",
"headers": {
"x-m2m-origin": "bdc2996719c6ac07:8cbb60e9c5997e74",
"content-type": "application/json;ty=3",
"cache-control": "no-cache",
"postman-token": "ff6cbe83-97ac-6ed5-aaec-e2bafaf44002"
}
};
var req = http.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
И вот результат
Мои вопросы в том, в чем, по-видимому, проблема? в чем разница между выполнением запроса API из собственного javascript и node js? и как я могу решить эту проблему? Или, может быть, есть какие-либо проблемы с этим? Моя цель — только отобразить данные из API на HTML / веб-странице
Спасибо!
Комментарии:
1. Ваш запрос блокируется браузером из-за CORS
2. это может быть как-то связано с
cors
политикой3. Я также уже пытаюсь добавить mode: ‘no-cors’, и он помечает запрещенную ошибку (как я упоминал), а не ошибку cors
4. Проблема решена, ребята, это происходит потому, что конечной точкой API является внутренний домен (url: 8443). Следовательно, любой запрос, поступающий от интерфейса, отклоняется политикой CORS