我有一個dot net核心API在本地主機上運行:5000。 我已經添加點網核心api與CORS仍拒絕請求
services.AddCors();
到ConfigureServices方法,並
app.UseCors(builder => builder.WithOrigins("http://localhost:3000")
.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod());
在啓動時的配置方法。
我已經得到了嘗試
return fetch('http://localhost:5000/api/Authorization', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
UserName: userName,
Password: password,
})}).then((response) => response.json())
.then((responseJson) => {return responseJson.userIsAdmin});
}
一個js客戶端,但去年被執行時,瀏覽器拒絕,說:
否「訪問控制允許來源」標題出現在請求的 資源中。原因'http://localhost:3000'因此不允許 訪問。該響應具有HTTP狀態碼500.
研究指向上述API項目中已經實施的解決方案。我錯過了什麼?
在你的'StartUp.cs'中,Add/UseMvc之前還是之後有Add/UseCors?它需要在之前。 –
*「響應的HTTP狀態碼爲500」*這是問題中引用的消息的唯一重要部分。這不是一個CORS錯誤;它只是看起來像一個,因爲服務器不會將'Access-Control-Allow-Origin'頭添加到500個錯誤響應 - 它可能只會將其添加到2xx成功響應。所以500表示你根本沒有CORS問題,而是一些服務器端故障。這是你需要確定原因和修復的實際問題:服務器說有一些致命的錯誤 - 服務器端故障 - 並且它已經完全停止工作,變得不可用 – sideshowbarker