簡體   English   中英

Api網關不允許訪問控制允許來源

[英]Api Gateway cannot allow Access-Control-Allow-Origin

該URL在AWS API Gateway中,具有方法get,並且階段已正確部署。 我在aws文檔之后啟用了CORS。

這是我啟用CORS的步驟。

-資源->操作->啟用CORS->默認設置->啟用CORS並替換CORS標頭。 CORS結果中沒有錯誤日志。

我不是專業的Web開發人員,我的瀏覽器是野生動物園。
這是我查詢“ http://my.com ”的代碼

 function request(idex) {
 var xmlHttp = new XMLHttpRequest();
 xmlHttp.onreadystatechange = function() { 
    if (xmlHttp.status == 200)
        callback(xmlHttp.responseText);
 }
 xmlHttp.open("GET", "http://my.com", true);  
 xmlHttp.send(null);}

控制台顯示錯誤:XMLHttpRequest無法加載“ http://my.com ” Access-Control-Allow-Origin不允許使用原始http://example.com

javascript請求或API Gateway部署中是否存在一些錯誤?

跨源問題是從服務器端而不是JavaScript端。 當服務器不允許來自其他域的請求時,它將引發跨源錯誤。 但是您說您已經在aws實例中添加了CORS

由於javascript僅從my.com訪問該服務,因此您需要在my.com網站中添加適當的域映射,以告知該請求將來自另一個名為example.com的域。 可能是服務器配置不正確。 或嘗試服務器是否需要任何標頭。

嘗試在任何其他客戶端(如soapui,chrome中的rect客戶端插件等)中查看結果。一旦確認服務器中沒有問題,請從javascript嘗試

要測試是否有chrome插件,您可以嘗試

https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en

在咨詢並嘗試了每種方法之后,我發現了以下錯誤。

根據AWS文檔,在啟用CORS之前我們無法部署api。 在部署之前,必須先設置所有有關標頭和CORS的設置。 但是API網關不會阻止此設置,也不會顯示任何錯誤對話框。 即使您的設置過程顯示成功,API Gateway也不會更改標題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM