2011-01-30 111 views
2

我正在使用.js客户端,并且需要将对象写出到服务器上的文件中。有几个问题 - 使用JavaScript文件I/O对我来说是新的......我正在计划使用jQuery和json。我正在使用java serverside。阅读我从servlet中取回的内容,我没有任何问题,但文件I/O正在让我失望!几个问题:从js读取/写入json到服务器上的文件(非服务器应用程序)

  1. 我可以打开我通过与$就调用.js文件生成自己一个文件,但它不是我的处理JSON语法(我都尝试了$ .getJson和$就 - 手写json,所以我可能(可能)在做错了它)。我用萤火虫的控制台,它看起来不错...

  2. 我怎样才能写我的对象到服务器上的文件?

  3. 然后,当我想阅读它时,我需要做些什么来处理它?现在我正在使用jsonFilter函数(如果可用,则使用JSON.parse,否则为eval)来处理从servlet获得的数据。

  4. 我正在写的对象并不简单,但它也不是超级复杂的。有一个数组包含一个数组,但是如果软件正在读/写它,这应该没有什么不同。

感谢您的帮助!我无所适从 - 尝试了很多不同的东西。

回答

6
  1. 您可以通过查询文件并将其加载到JSON对象中,通过ajax打开位于服务器上的文件。您可能想要LINT您的JSON

  2. 您无法通过客户端写入服务器上的对象。这是一个严重的安全漏洞。 通常的做法是更改JSON数据,然后通过ajax将其发送到服务器端代码。服务器将执行文件IO。

  3. 是使用JSON.parse否则eval确实是正确的。我会推荐json2.js

  4. 数据应该没问题,只要它通过JSONLint即可。

您的主要问题是无法从客户端写入服务器。让客户端通过ajax加载数据,然后查询服务器以更新文件。

+0

谢谢你 - 这就是我出了问题。我将添加一些代码到我的servlet来写出文件。我以为我可以直接对文件进行ajax。 – campana 2011-01-30 13:17:54

0

js没有i/o属性;

你应该使用AJAX或HTTP请求发送消息给服务器,并告诉服务器做代I/O动作......

相关问题