這幾乎是一個已知的標準錯誤,但無法使用現有的Stackoverflow帖子修復相同的問題。無法解決訪問控制問題
的XMLHttpRequest不能加載https://myserver.com/context/
響應預檢請求未通過訪問控制檢查:
否「訪問控制允許來源」標題存在於所請求的資源 。
原因'https://www.otherwebsite.com'因此不允許訪問。
響應了HTTP狀態代碼405
以下是代碼我有 -
function setHeader(xhr) {
xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
}
var url = "https://myserver.com/context/";
$.ajax({
url: url,
type: 'GET', dataType:'json',
success: function(data) {
_this.question(data.question);
_this.questionId(data.questionId);
_this.choices(data.choices);
}, error: function() {
console.log("ERROR in getting microquestion");
},
beforeSend: setHeader
});
閱讀錯誤消息:「_No'Access-Control-Allow-Origin'頭部存在__on所請求的資源__._」 – Teemu
*「對預檢請求的響應...具有HTTP狀態碼405」*表示要啓動,即使您已經配置了將正確的CORS頭髮送回「正常」請求,也需要將「https:// myserver.com/context /」端點配置爲正確處理OPTIONS請求。有關詳細信息,請參閱https://stackoverflow.com/questions/43871637/no-access-control-allow-origin-header-is-present-on-the-requested-resource-whe/43881141#43881141但其要點是,最低限度地,服務器必須以2xx成功狀態代碼迴應OPTIONS請求 – sideshowbarker
我剛剛意識到什麼錯誤正試圖指出。問題出在服務器端。這就是「請求資源」的含義。感謝@sideshowbarker明確指出。 Upvoting你們倆 – comiventor