錯誤來源:
```
chat:1 Access to XMLHttpRequest at 'http://101.126.139.3:11000/api/receiver/message' from origin 'http://101.126.139.3' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
```
其實我的后端代碼已經配置過這個,所以肯定不是后端的問題。
后端配置如下:
builder.Services.AddCors(options => options.AddPolicy("CorsPolicy",set =>{set.SetIsOriginAllowed(origin => true).AllowAnyHeader().AllowAnyMethod().AllowCredentials();}));
?結合解決方案,首先你應該解決后端的跨域配置,使得在本地運行沒有問題。然后再考慮IIS的問題。
今天在為我的代碼修改的時候,偶然注意到控制臺出現了下面的錯誤,這個請求是用來上傳消息的,但是竟然失敗,我運行本地的程序并沒有這個問題。
我后來查到這個是因為IIS的webDAV會阻止某些請求,導致PUT等請求無法使用,于是我搜索了一些解決方案,似乎是版本不對的緣故,很多方案都不奏效。
因為我在很多臺服務器上都配置過這個東西,之前都沒這個問題。這個問題忽然出現,也是讓我很尷尬。
于是我試著刪除之前安裝的這個功能,于是它確實工作了。前端的請求能夠正常工作了。
解決方案:
刪除WebDAB發布功能。
為什么這次會帶來這個問題,這次重裝為Windows系統之后,我又重裝了IIS,我想著管他有用沒用,功能我裝了不少,沒想到它會帶來問題。