[英]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.