報錯資訊如下:

代碼如下:
<!DOCTYPE html> <html> <body> <div id="demo"> <h1>XMLHttpRequest 物件</h1> <button type="button" onclick="loadDoc()">更改內容</button> </div> <script> function loadDoc() { const myHttp = new XMLHttpRequest(); myHttp.onload = function () { //回應 document.getElementById("demo").innerHTML = this.responseText }; myHttp.open("GET", "./demo/aa.txt",true); myHttp.send(); } </script> </body> </html>
解決方案:
查詢到原因是:
在瀏覽器打開本地的html檔案, 上面請求的模型資源檔案是一個本地檔案, 協議是file://,如果是在服務器啟動的話,則使用的是http或者https協議,
出于安全性考慮, Chrome默認禁止了這種用法,file協議和http/https協議不同,會被Chrome認為是跨域訪問,所以會報被CORS(Cross-Origin Resource Sharing,跨域資源共享)的安全策略阻止,
如果是部署到服務器上面,或者是自己在vscode里面通過插件Live Server打開,都是沒有問題的
首先宣告,這種方式只是暫時的,瀏覽器一經關閉則不起作用了,
以谷歌瀏覽器為例
首先,找到你谷歌瀏覽器瀏覽器安裝的位置,一般默認安裝的位置C:\Program Files\Google\Chrome\Application
然后在該目錄打開命令列,直接在檔案夾導航欄輸入cmd,敲回車
或者直接進入命令列,cd進入安裝目錄下:
輸入命令:
chrome.exe --disable-web-security --user-data-dir=C:\MyChromeUserFata

打開瀏覽器后,將要運行的html檔案拖入瀏覽器進行訪問

可以正常訪問了~
參考鏈接:原文鏈接:https://blog.csdn.net/pink_cz/article/details/126896190
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/554667.html
標籤:JavaScript
下一篇:返回列表
