Fetch()API无法更新JSON文件

时间:2018-11-08 10:28:12

标签: javascript fetch-api

我有一个要读取和写入的JSON文件,如下所示:

9200

我想使用[ "test@example.com" ] API向该文件添加信息。到目前为止,我只能从该文件读取。

fetch()

我没有收到任何错误(除了该let handle = JSON.stringify(`test@example2.com`); // handle is fine irrelevant of "" or `` const url = `../json/emails.json`; // URL is fine const options = { method: `POST`, // PUT return error at second fetch: SyntaxError: "JSON.parse: unexpected character at line 1 column 1 of the JSON data" headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: handle }; fetch(url) // this fetch is fine .then(response => { if (!response.ok) { throw new Error(`Error getting the stuff`); } return response; }) .then(r => r.json()) .then(data => { console.log(`Data: ` + data); }); fetch(url, options) .then(response => { if (!response.ok) { throw new Error(`Error getting the stuff`); } return response; }) .then(a => a.json()) .then(append => { console.log(`Data updated: ` + append); }).catch(err => { console.error('Request failed: ', err); }); 评论); ESLint和TSLint的JS文件和JSON文件都没有问题。我在做什么错了?

1 个答案:

答案 0 :(得分:4)

fetch()是用于发出HTTP请求的API。

它无法写入文件。特别是,没有任何内容可以写入任意URL。 (想象一下,是否有任何浏览器都可以将新数据写入http://www.google.com/!)

如果您希望PUT或POST请求更改服务器上的数据,则必须编写服务器端代码来处理该请求并编辑文件。