在不创建隐藏页面元素的情况下构建JavaScript表单

在不创建隐藏页面元素的情况下构建JavaScript表单,javascript,google-voice,Javascript,Google Voice,我正在尝试自动批量删除我的谷歌语音历史记录。到目前为止,我已经: //要在旧版Google Voice上运行的代码:https://www.google.com/voice/b/0#history 功能睡眠(ms){//礼貌:https://stackoverflow.com/a/39914235/1429450 返回新承诺(resolve=>setTimeout(resolve,ms)); } 异步函数deleteMessages(){ 做{ var msgs=document.getElem

我正在尝试自动批量删除我的谷歌语音历史记录。到目前为止,我已经:

//要在旧版Google Voice上运行的代码:https://www.google.com/voice/b/0#history
功能睡眠(ms){//礼貌:https://stackoverflow.com/a/39914235/1429450
返回新承诺(resolve=>setTimeout(resolve,ms));
}
异步函数deleteMessages(){
做{
var msgs=document.getElementsByClassName('gc-message'),
msgids=[];
itemcount=msgs.length;
对于(变量i=0;i
在不实际创建隐藏页面元素(例如使用?)的情况下,如何做到这一点


另外,我的代码的另一个问题是,我的浏览器将POST请求的响应作为文件下载。有没有办法让它忽略响应?

使用FormData对象更为简洁,而且现在浏览器不再将POST响应作为文件下载:

//在旧版Google Voice上运行的代码
//运行时间:https://www.google.com/voice/b/0#history
//          https://www.google.com/voice/b/0#spam
//          https://www.google.com/voice/b/0#trash
功能睡眠(ms){//礼貌:https://stackoverflow.com/a/39914235/1429450
返回新承诺(resolve=>setTimeout(resolve,ms));
}
异步函数deleteMessages(){
做{
//获取消息ID。
var msgs=document.getElementsByClassName(“gc消息”),
msgids=[];
itemcount=msgs.length;
对于(变量i=0;i
可能希望在
i
之前放置一个标识符-避免隐式创建全局变量。另外,生成直接使用FormData提交的对象可能比创建实际元素更好。@CertainPerformance您指的是关键字,如
let
,而不是标识符。@CertainPerformance“生成直接使用FormData提交的对象可能比创建实际元素更好”你能详细说明一下吗?请看这里的例子:除非你需要,否则不要创建页面元素