我有一個前端Web應用程序,它在服務器上使用nodejs,在本地端口5000上運行的客戶端中使用angularjs。客戶端代碼需要向單獨的Web API服務發出ajax請求也在本地運行,但在IIS 6.2中託管的另一個端口上運行。這使得它成爲一個跨瀏覽器的請求,瀏覽器正在嘗試進行預檢請求。但是,預檢失敗並且調用了ajax錯誤處理程序,響應的狀態碼爲-1,Chrome控制檯顯示預檢檢查失敗,推測標準錯誤消息爲對預檢請求的響應未通過訪問控制檢查:請求的資源上不存在「Access-Control-Allow-Origin」標頭。因此'Origin'https://localhost:5000'不允許訪問。響應的HTTP狀態代碼爲500.CORS預檢請求無效-1狀態代碼
據我所知,我的Web API服務中啓用了CORS。這裏是我的Application_Start方法的開始:
var corsAttr = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(corsAttr);
config.MapHttpAttributeRoutes();
// etc...
這個確切的設置是工作在我的同事的機器很好,所以裏面的東西與我的機器怎麼回事明確。我很難過,對可能發生的事情有任何想法?我猜測某些地方只是配置錯誤。
您在預檢請求中的迴應是什麼?有你的doman名字的Access-Control-Allow-Origin嗎? – Errorpro