我有一个XMLHttpRequest
对象试图访问其文件夹之外的文件。
W3Schools说:出于安全原因,现代浏览器不允许跨域访问。
这意味着网页和它尝试加载的XML文件必须位于同一台服务器上。
所以,我的文件在同一台服务器上。只是在一个不同的目录(文件夹。)它不是在读取文件。这有解决方法吗?
当.xml文件位于同一文件夹中时,javascript文件可以正常工作。但是,我想从文件夹外部访问它 - 一个目录。我使用语法../来表示它位于一个文件中。它似乎无法访问它......
1与位于同一文件夹中的myFile.xml完美配合。
2似乎无法在文件夹所在的目录中找到myFile.xml。
使用直接路径不起作用。
1。)xmlhttp.open(" GET"," myFile.xml",true);
2。)xmlhttp.open(" GET"," ../ myFile.xml",true);
[编辑 - 更新]解决了。有用。正是如此。我将文件从桌面文件夹移到主机服务器上。我仍然不知道为什么会有与桌面环境不同的结果...但是,我很高兴知道我正在编码它。
答案 0 :(得分:0)
我正在我的桌面上,在桌面上的文件夹中工作。
大多数浏览器都禁止XMLHttpRequest完全访问文件:URI。
Firefox允许使用certain restrictions访问:
只有当原始文件的父目录是目标文件的祖先目录时,文件才能读取另一个文件。
由于您尝试阅读的文件位于上面的目录,其中包含您尝试访问该文档的HTML文档,因此权限被拒绝。
为避免此限制,请勿尝试在没有HTTP的情况下使用XMLHttpRequest。