2014-03-02 44 views
0

我有一个文本文件,其中每行代表一个新对象,并具有以下内容。文本文件本地存储在PC上,例如C:\data使用Javascript解析文本文件内容

Name,Role 
PersonA,Administrator 
PersonB,Engineer 

由于我们仅限于使用由第三方工具提供的会话,所以我们不能使用引用jQuery库或AJAX。

我希望内容循环如下;

var p = { 
      "PersonA" : "Administrator", 
      "PersonB" : "Engineer" 
     }; 

for (var key in p) 
{ 
    if (p.hasOwnProperty(key)) 
    { 
     client = selectedPackage.Elements.AddNew(key, p[key]); 
     client.Update(); 
    } 
} 

如何参考完整路径例如c:\data\roles.txt并有其内容循环?

+0

您是否尝试过使用'file:// URL?不知道它会工作,但值得一试 – slezica

+0

仅供参考 - jQuery **是纯粹的JavaScript和AJAX只是一个通信概念 – Phil

+0

@Phil - 道歉我的错误。我已更新我的帖子。 – Motivated

回答

1

在浏览器中?访问磁盘上的文件的唯一方法是让用户选择文件<input type="file">,然后使用HTML5 File API来读取其内容。

+0

它是由该工具提供的脚本编辑器。 – Motivated

+0

那么脚本在哪里执行?在运行此工具的服务器上?你有任何控制权吗? – josh3736

+0

它在本地PC上的编辑器中运行。是的,我可以控制编辑。 – Motivated

1

JavaScript是有限的,所以

  • 你可以让AJAX连接,但只对同一个域(除非您使用CORS)。
  • 除非客户端输入文件,否则无法访问客户机器中的文件。

然后,我认为最好的解决方案是使您的服务器中的文件可访问,并使用AJAX获取它。

如果你说你不能使用AJAX,也许你可以尝试使用输入来加载文件,并使用localStorage将其保存以供将来使用。

+1

你的第一个点不一定是正确的。请参阅[跨源资源共享](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing) – Phil