将表单数据以 JSON 格式保存到本地计算机 - 基于 DOJO 的 UI

发布于 2024-11-05 21:10:22 字数 653 浏览 0 评论 0原文

我们有一个基于 Liferay 的门户应用程序。在其中一个 portlet 中,我们使用 DOJO 组件开发了 UI。 我想获得一些关于实现以下功能的建议。

  1. 保存到本地 此功能帮助用户将表单数据保存到本地计算机。 这部分如何实现呢? 这是我正在考虑的方法。

    • 表单数据可以保存为 JSON。
    • 将 onchange 事件附加到所有 UI 组件,并构造一个包含 ui 组件 ID 和值的 JSON 对象。
    • 当用户单击“保存到本地”时,使用 DOJO 库的 toJSON 方法序列化整个 JSON 结构。 但我在这里有几个问题。 Q1.如何打开保存对话框,以便用户可以选择目录路径并指定文件名。此流程中没有发生服务器交互。保存对话框的调用可以从客户端(即从 java 脚本)发生。 Q2。是否可以将表单数据保存到本地计算机而无需任何服务器交互? IE。为了将数据保存到本地,如果我通过AJAX将表单数据发送到服务器,然后接收作为JSON超链接的响应,那么可以吗?
  2. 从本地加载。 单击此按钮时,保存的 JSON 数据将加载到 UI 并且必须设置表单值? Q1.如何打开文件对话框来选择 JSON 文件并解析数据?我认为 fromJSON 可以用于解析 JSON 字符串并构造 JSON 对象。 但是我可以从本地文件读取吗?

We are having a Liferay based portal application. In one of the portlet, we have developed the UI using DOJO components.
I would like to get some suggestions for implementing the following functionality.

  1. Save to Local
    This functionality helps the user to save the form data to the local machine.
    How to achieve this part ?
    Here is the approach I am thinking of.

    • Form data can be saved as JSON.
    • Attach onchange event to all the UI components and construct a JSON oject which holds the ui component id and value.
    • Serialize the whole JSON structure by using toJSON method of DOJO library when the user clicks on Save to Local.
      But I have few questions here.
      Q1.How can I open a save dialog box so that, user can select the directory path and assign the name of the file.There is no server interaction happens in this flow. Invocation of Save Dialog box can happen from the client (ie. from java script).
      Q2. Is it possible to save the form data to local machine without any server interaction or not ?
      ie. For saving the data into local,if I post the form data to server through AJAX and then receives the response as JSON hyper link, then is it possible ?
  2. Load from Local.
    On click of this button saved JSON data will be loaded to the UI and form values has to be set ?
    Q1. How can I open a file dialog for choosing the JSON file and parse the data ? I think fromJSON can be used for parsing a JSON string and construct the JSON object.
    But can I read from the local file ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

任性一次 2024-11-12 21:10:22

我认为保存到本地场景需要服务器交互。当用户单击保存按钮时,将通过迭代所有小部件或使用 dojo.formToJson 来检索表单数据。然后将序列化的 JSON 字符串发布到服务器,服务器返回带有适当 HTTP 标头的 URL 供浏览器下载。

对于从本地加载场景,您可以在页面中添加文件输入以允许用户上传 JSON 文件。文件上传成功后,客户端可以向服务器发送请求,使用 XMLHTTPRequest 检索 JSON 数据,然后使用该数据设置控件的值。

I think the server interaction is required for the Save to Local scenario. When the user clicks the save button, the form data is retrieved by iterating all the widgets or using dojo.formToJson. Then the serialized JSON string is posted to the server and the server returns a URL with appropriate HTTP headers for the browser to download.

For the Load from Local scenario, you can add a file input in the page to allow user to upload the JSON file. After the file is uploaded successfully, the client can send a request to the server to retrieve the JSON data using XMLHTTPRequest, then use the data to set the values of the controls.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文