为什么用XMLHttpRequest无法请求本地文件?

用XMLHttpRequest 读取本地文件,在单独的html文件中进行本地测试:
需要解决浏览器跨域问题网页中可以使用相对URL的能力通常意味着我们能使用本地文件系统来开发和测试HTML,并避免对Web服务器进行不必要的部署。

然而当使用XMLHttpRequest进行Ajax编程时,这通常是不行的。1、XMLHttpRequest需要同HTTP和HTTPS协议一起工作。2、理论上,它能够同FTP这样的其他协议一起工作,但比如请求方法和响应状态码等部分API是HTTP特有的。如果从本地文件中加载网页,那么该网页中的脚本将无法通过相对URL使用XMLHttpRequest,因为这些URL将相对于file://URL而不是http://URL。3、同源策略通常会阻止使用绝对http://URL。4、结果是当使用XMLHttpRequest时,为了测试它们通常必须把文件上传到Web服务器或者运行一个本地服务器。

解决方法一:用Node制作一个简单的服务器
解决方法二:本地浏览器运行跨域项目
解决方法三:直接在Vue脚手架上运行(这不就是现成的Node环境吗)

猜你喜欢

转载自blog.csdn.net/qq_52317104/article/details/120435811