如何修改 .从客户端存储在服务器上的JSON文件?

How can I modify a .JSON file stored on server from client side?

提问人:Christian Smith Mantas 提问时间:5/19/2020 更新时间:5/19/2020 访问量:1826

问:

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

Web 应用程序是用 HTML、CSS 和原版 Javascript 编写的,没有使用任何外部库。

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

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

谁能给我一些示例代码,或者给我指出一些关于如何做到这一点的简单文档或教程的方向,我根本不擅长服务器端编程,而且由于这是一个对我来说很简单的项目,我目前不想深入研究 PHP。

提前谢谢你!

JavaScript PHP HTML CSS 服务器端

评论

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

答:

1赞 Brad 5/19/2020 #1

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

既然你已经知道 JavaScript,我会重新审视为什么你觉得你不能使用Node.js服务器端。无论如何,如果你要继续使用 PHP......

要写入文件,请file_put_contents()

要对 JSON 进行编码,请json_encode()。

请注意,还有其他服务器。你不必用PHP编写自己的东西。如果您不需要对发送的内容进行任何检查,您甚至可以修改 Web 服务器的配置以接受 PUT。

评论

0赞 Christian Smith Mantas 5/19/2020
我希望在我完成这个项目后将这个项目用于可选的课程学分,但有一个固定的规则,我们必须使用像 apache 这样的“普通服务器”,并且不使用任何框架,一旦我上交它,我计划转移到node.js,因为这是我想学习的东西。
1赞 Brad 5/19/2020
@ChristianSmithMantas Nginx 肯定没有什么异常......如今,它比 Apache 更常用。为什么有人会在Apache上构建新的东西,我不知道。无论如何,Apache 也支持 WebDAV。httpd.apache.org/docs/2.4/mod/mod_dav.html运行 PHP 的服务器端依赖性远远高于运行 Node.js。如果你愿意,你甚至可以将你的Apache服务器(无论出于什么原因)配置为代理Node.js。这是一个常见的配置,类似于 Apache 用于连接到 PHP 的方法。
0赞 ADyson 5/19/2020
如果需要,@ChristianSmithMantas NodeJS 可以配置为在 Apache 下运行。只需在谷歌中输入“nodejs with apache”即可。其他语言也可以。
0赞 Christian Smith Mantas 5/19/2020
@Brad 我并不是说 Nginx 是异常的,我应该澄清的问题是,教授希望能够将我们的文件放到他的服务器上,并让它工作,如果他运行我们的代码,我们无权修改服务器。但是谢谢你的例子,我已经看过了,它肯定会在将来的:)