2017-08-07 28 views
1

我已經實現了在點網核心應用一個Cors政策: 在Startup.csConfigureServices下,我加入了以下政策CORS兩個呼叫:以http 204和200

services.AddCors(options =>{ 
       options.AddPolicy("CorsPolicy", 
        builder => builder.AllowAnyOrigin() 
        .AllowAnyMethod() 
        .AllowAnyHeader() 
        .AllowCredentials()); 
      }); 

我面對一個陌生的在添加CORS策略後發出問題,在從UI接收的每個後期調用中,有兩個調用第一次調用返回204,而其他調用返回具有200狀態代碼的數據。

two calls on post request

回答

4

第一個是preflighted request。主要目標是確定實際請求是否安全發送。由於可能會影響用戶數據,因此跨站點請求會受到預先驗證。

CORS預檢請求是一個CORS請求,用於檢查是否理解CORS協議。

這是一個OPTIONS請求使用兩個HTTP請求標頭:訪問控制請求方法和訪問控制請求頭和Origin標頭。

預檢請求在需要時由瀏覽器自動發出。

這個HTTP access control (CORS)描述條件,如果是的話,那麼請求是預檢的。

+1

有沒有辦法禁用這個飛行前電話?我在前端使用了angularjs。 – Nikitesh

+1

@NikiteshKolpe看看SO [如何禁用OPTIONS請求](https://stackoverflow.com/questions/29954037/how-to-disable-options-request) – Set