我正在嘗試爲學校項目使用webUntis'(docs)API。現在我只是試圖建立任何類型的連接到API。CORS頭'訪問控制 - 允許 - 起源'缺失
var result;
const url = 'https://api.webuntis.dk/api/status';
var xhr = new XMLHttpRequest();
xhr.open('GET',url, true);
xhr.setRequestHeader('Access-Control-Allow-Origin','*');
xhr.setRequestHeader('Content-type','application/json');
xhr.setRequestHeader('Access-Control-Allow-Methods','GET');
xhr.setRequestHeader('X-API-KEY', '/*API KEY*/');
xhr.send();
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
result = xhr.responseType;
console.log(result);
}
};
此代碼產生以下錯誤消息:
跨源請求阻止:同源策略禁止 讀取外部資源中的https://api.webuntis.dk/api/status (原因:CORS標頭「訪問 - Control-Allow-Origin'缺失)。
這個問題怎麼解決?也許我的API密鑰錯誤?
聲明:該錯誤消息是從德語翻譯的。
看起來你並沒有要求你自己的服務器,而是直接到'https:// api.webuntis.dk/api/status'你應該創建一個路由,請求你的本地服務器,然後使請求服務器到服務器 – JoseAPL
首先,頭部'Access-Control-Allow-Origin'應該在請求的文件頭上,而不是在你的請求中。 – Zenoo