簡體   English   中英

CORS在http-server上失敗

[英]CORS fails on http-server

我在開發一個JavaScript應用程序時使用了一個簡單的http服務器,該應用程序中有多個對外部API的ajax請求。 我通過CLI使用“ http-server --cors”啟動了服務器,但仍然收到“請求資源上沒有'Access-Control-Allow-Origin'標頭”錯誤。 無論外部API是否需要用戶密鑰/預檢,都會發生這種情況,例如:

var url = "http://api.rgrta.com/";
$.ajax({
    url: url,
    beforeSend: function(xhrObj){
        xhrObj.setRequestHeader("api_key","d4f...3f5");
    },
    type: "GET",
    dataType: "json"
})
.done(function(jsonData) {
    console.log("*** ajax success ***");
    callbackFunc();

    function callbackFunc() {
        console.log("callbackFunc");
    }
});

我看過涉及快速app.js配置的解決方案。 節點/表達式是否是正確定義請求標頭的唯一方法? 在開發支持CORS的API調用時,設置本地http服務器的最佳方法是什么?

這不是您提供的服務器端代碼段,而是在瀏覽器上運行的客戶端代碼段,因此如果目標api的cors關閉,則會發生跨源錯誤,在這種情況下,解決方案是使用代理。

在簡單的http服務器上啟用cors也意味着您允許其他人在其他地方訪問您的網站內容。

在開發過程中,您可能希望使用允許輕松啟用和禁用CORS的瀏覽器擴展程序,例如適用於Chrome的這個: https//chrome.google.com/webstore/detail/allow-control-allow- origi / nlfbmbojpeacfghkpbjhddihlkkiljbi?utm_source =鉻的應用程序-啟動-信息-對話

暫無
暫無

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

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