从js读取/写入json到服务器上的文件(不是服务器应用程序)

cam*_*ana 2 javascript file-io jquery json

我正在使用.js客户端,并且我需要写入服务器上的文件.一些问题 - 用JavaScript编写文件i/o对我来说是新的......我打算使用jquery和json.我正在使用java服务器端.我从servlet中读取的内容没有问题,但文件i/o正在杀了我!几个问题:

  1. 我可以通过$ .ajax调用打开我自己生成的文件,但是它没有处理我的json语法(我尝试了$ .getJson和$ .ajax - 手写的json,所以我可能(可能)正在做有点不对劲).我使用了firebug的控制台,它看起来不错......

  2. 如何将我的对象写入服务器上的文件?

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

  4. 我写的对象并不简单,但它也不是非常复杂.有一个数组包含一个数组,但如果软件都在读/写它,这应该没有区别.

谢谢你的帮助!我很茫然 - 尝试了很多不同的事情.

Ray*_*nos 6

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

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

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

  4. 只要它传递JSONLint,数据就应该没问题.

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