【问题标题】:How to Change json with Javascript如何使用 Javascript 更改 json
【发布时间】:2021-03-08 22:01:34
【问题描述】:

https://github.com/smelukov/loftschool-example 我正在这个环境中创建我的项目。

我在根文件夹中创建了 friends.json 文件。

friends.json

    {
        "name": "Иван",
        "lastName": "Петров",
        "value": "5.24"
    },
    {
        "name": "Иван",
        "lastName": "Петров",
        "value": "6.00"
    },
    {
        "name": "Иван",
        "lastName": "Петров",
        "value": "4.54"
    }
]

index.hbs

<div id="prev-results"></div>

<button id="loadButton">Load Results</button>

index.js

const loadButton = document.querySelector("#loadButton");
const result = document.querySelector('#prev-results');
 
loadButton.addEventListener('click', () => {
    fetch('friends.json')
        .then(response => {
            if (response.status >= 400){
              return Promise.reject();
            }

            return response.json();
        })
        .then(friends => {
                result.innerHTML = '';
                for (let friend of friends) {
                    const friendNode = createFriendNode(friend);
                

                    
                    result.appendChild(friendNode);

                }
        })
        .catch(() => console.error('Что-то пошло не так'));
});
 
function createFriendNode(friend) {
    const div = document.createElement('div');
    
    
    div.classList.add('friend');
    div.textContent = `${friend.name} ${friend.lastName}`;

    const result = document.createElement("a");
    result.textContent = `${friend.value}`;
    result.classList.add("result");

    const label = document.createElement("a");
    label.classList.add("result-label")
    label.textContent = "mL/min/1.73m²";

    div.appendChild(result);
    div.appendChild(label);
    return div;
}

现在我可以从 friends.json 获取对象并将它们添加到 DOM 中,但是如何使用 javascript 更改 friends.json 呢?

【问题讨论】:

标签: javascript json fetch


【解决方案1】:

客户端无法写回它所服务的静态文件。这将是数据库的用例。对于可以操作的类似 JSON 的文档对象存储,您可以使用 MongoDB 之类的东西。

【讨论】:

  • 或者只是向您的后端发送一个更改文件的请求? db 肯定是解决这个问题的最好方法,但他特地问如何更改 JSON 文件,这没有回答。
  • 这里只有前端代码。因此我的回答是不可能的。我不打算解释如何设置后端 api 来更改文件。在这种情况下,他基本上会将静态文件用作数据库,而应该使用实际数据库以更实用的方式获得他想要的功能。
猜你喜欢
  • 2021-10-25
  • 2021-04-28
  • 2015-08-01
  • 2011-12-17
  • 2022-06-18
  • 2020-04-10
  • 2021-05-01
  • 2019-12-29
  • 1970-01-01
相关资源
最近更新 更多