Javascript 使用fetch更改JSON值
嘿,伙计们,我正在编写一个小的电子邮件应用程序,我正在尝试为每封电子邮件创建一个存档按钮。我确信函数正在被调用,但由于某些原因,它没有变为true 奇怪的是,如果我用“read:true”替换“archive:true”,它会将“read”改为true。但是,由于某些原因,它不会更改存档属性 我确信“存档”是JSON API中的一个有效属性 有什么原因会这样吗?以下是相关代码:Javascript 使用fetch更改JSON值,javascript,json,fetch,Javascript,Json,Fetch,嘿,伙计们,我正在编写一个小的电子邮件应用程序,我正在尝试为每封电子邮件创建一个存档按钮。我确信函数正在被调用,但由于某些原因,它没有变为true 奇怪的是,如果我用“read:true”替换“archive:true”,它会将“read”改为true。但是,由于某些原因,它不会更改存档属性 我确信“存档”是JSON API中的一个有效属性 有什么原因会这样吗?以下是相关代码: function archive_email(id) { fetch('/emails/' + id
function archive_email(id) {
fetch('/emails/' + id, {
method: 'PUT',
body: JSON.stringify({
archived: true
})
})
load_mailbox("inbox");
}
我认为这是一个承诺问题,您是否尝试了以下代码
function archive_email(id) {
fetch('/emails/' + id, {
method: 'PUT',
body: JSON.stringify({
archived: true
})
}).then(() => {
load_mailbox("inbox");
})
}
我确信“存档”是JSON API中的有效属性
-只有您可以看到处理请求的服务器代码。。。那么,我们如何帮助调试您的服务器代码呢?因为“fetch api”返回“promise”,所以您需要使用“then”函数等待服务器的响应,该响应将数据属性编辑为archived:true。这意味着,如果不使用“then函数”,则不知道服务器是否编辑属性。您可以查看此url,了解如何使用fetch api。