【问题标题】:How can I modify a .JSON file stored on server from client side?如何从客户端修改存储在服务器上的 .JSON 文件?
【发布时间】:2020-05-19 01:04:47
【问题描述】:

我正在开发一个当前在服务器上运行的 web 应用程序,其中还有一些 .JSON 文件,我希望用户能够键入一些信息并按 Enter 键将其存储到.JSON 文件。

webapp 是用 HTML、CSS 和 vanilla Javascript 编写的,没有使用任何外部库。

我已经从 .JSON 文件中提取信息,以便使用 GET 函数在应用程序中使用,而且我知道我无法使用 javascript 直接修改服务器端文件,除非我正在运行 Node.js 服务器(其中目前不是一个选项)。

所以我相信我唯一的选择是使用服务器端语言,例如 PHP(我对此一无所知)来修改文件。我的问题是,我怎样才能相对简单地做到这一点?可能在运行 JS 函数以将更改推送到文件时。

谁能给我一些示例代码,或者指出一些简单的文档或教程如何做到这一点,我根本不擅长服务器端编程,因为这是一个简单的专为我设计的项目,目前我不想深入研究 PHP。

谢谢你!

【问题讨论】:

  • 您可能应该使用 AJAX (javascript)(或简单的 HTML 表单)向 PHP 脚本发送 POST 请求,该脚本可以使用 file_put_contents() 更新 JSON 文件。
  • 提示:试试json服务器。
  • 你能给我指出一个 PHP 脚本的例子,它可以让我更新文件吗? @GrumpyCrouton
  • 这样的事情可能会对你有所帮助:kodecrash.com/javascript/read-write-json-file-using-php
  • @ChristianSmithMantas 你几乎只需要两个函数,json_encode()file_put_contents()

标签: javascript php html css server-side


【解决方案1】:

所以我相信我唯一的选择是使用服务器端语言,例如 PHP(我对此一无所知)来修改文件。

既然您已经了解 JavaScript,那么我将重新审视您为什么不能在服务器端使用 Node.js。无论如何,如果您要继续使用 PHP...

要写入文件,file_put_contents()

要编码 JSON,json_encode()

请注意,那里还有其他服务器。您不必用 PHP 编写自己的东西。如果您不需要对发送的内容进行任何检查,您甚至可以modify your web server's config to accept a PUT

【讨论】:

  • 我希望在完成此项目后将其用于可选的课程学分,但有一个固定规则,我们必须使用“普通服务器”,例如 apache,并且不能使用任何框架, 等我上交后,我打算转到 node.js,因为这是我想学习的东西。
  • @ChristianSmithMantas Nginx 肯定没有什么异常......这些天它比 Apache 更常用。为什么有人会在 Apache 上构建新的东西,我不知道。无论如何,Apache 也支持 WebDAV。 httpd.apache.org/docs/2.4/mod/mod_dav.html 运行 PHP 的服务器端依赖远远高于运行 Node.js。如果您愿意,您甚至可以将 Apache 服务器(无论出于何种原因)配置为代理到 Node.js。这是一个常见的配置,类似于 Apache 用来连接 PHP 的方法。
  • @ChristianSmithMantas NodeJS 可以配置为在 Apache 下运行,如果需要的话。只需在谷歌中输入“nodejs with apache”即可。其他语言也可以。
  • @Brad 我并不是说 Nginx 异常,我应该澄清的问题是教授希望能够将我们的文件放到他的服务器上,并且让它工作,如果他将运行我们的代码,我们无权修改服务器。但是谢谢你的例子,我已经看过了,将来肯定会有用:)
猜你喜欢
  • 1970-01-01
  • 2018-11-06
  • 2013-08-25
  • 1970-01-01
  • 2021-03-06
  • 2017-07-24
  • 1970-01-01
  • 1970-01-01
  • 2021-11-02
相关资源
最近更新 更多