【问题标题】:reading local xml from javascript从 javascript 读取本地 xml
【发布时间】: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)};
  • guest271314 : 如果我想要一个同步请求怎么办?
  • 这是一个安全问题,如果任何网站都可以读取您的 cookie 文件,那么您可以使用
  • @pracheese 你想达到什么目的?

标签: javascript


【解决方案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.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-07
  • 2012-02-17
  • 1970-01-01
  • 1970-01-01
  • 2010-12-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多