从 javascript 读取本地 xml
Posted
技术标签:
【中文标题】从 javascript 读取本地 xml【英文标题】:reading local xml from javascript 【发布时间】:2016-11-12 07:24:42 【问题描述】:我想读取本地存储的 xml,并且我想通过 javascript 读取/写入。 我的代码如下
function saveBaseValue()
var xmlhttp;
var XMLname="file:///C:/Users/setting.xml"
if (window.XMLHttpRequest)
xmlhttp=new window.XMLHttpRequest();
xmlhttp.open("GET",XMLname,false);
alert(xmlhttp.responseXML);
在这种情况下,xmlhttp.responseXML 为空。
【问题讨论】:
使用XMLHttpRequest
.onload
事件处理程序读取异步请求的结果。 xmlhttp.onload = function() alert(xmlhttp.responseXML);
xmlhttprequest for local files的可能重复
guest271314 : 如果我想要一个同步请求怎么办?
这是一个安全问题,如果任何网站都可以读取您的 cookie 文件,那么您可以使用
@pracheese 你想达到什么目的?
【参考方案1】:
您可以使用以下代码实现您的目标。
<!DOCTYPE html>
<html>
<head>
<script>
function saveBaseValue()
var xmlhttp;
var XMLname="file:///C:/Users/setting.xml"
if (window.XMLHttpRequest)
xmlhttp=new window.XMLHttpRequest();
xmlhttp.onreadystatechange = function()
if (xmlhttp.readyState == 4)
alert(xmlhttp.responseXML);
;
xmlhttp.open("GET",XMLname,false);
xmlhttp.send();
saveBaseValue();
</script>
</head>
<body>
<h1>Test</h1>
</body>
</html>
默认情况下,您的浏览器不允许您访问此本地文件,因为这是出于安全考虑,但是如果您想访问它,请关闭所有 chrome 实例,转到命令提示符,将目录更改为您的 chrome.exe 所在的目录存在并在命令下方运行。
.\chrome.exe --allow-file-access-from-files --disable-web-security
【讨论】:
注意,使用最新的 Chrome,我收到以下警告:Web security may only be disabled if '--user-data-dir' is also specified with a non-default value.
以上是关于从 javascript 读取本地 xml的主要内容,如果未能解决你的问题,请参考以下文章
通过浏览器使用 javascript/jQuery 读取和写入 ID3 标签到本地文件?