Javascript 如何将JSON响应绑定到网页上的按钮操作?

Javascript 如何将JSON响应绑定到网页上的按钮操作?,javascript,jquery,json,Javascript,Jquery,Json,我编写了Javascript代码,用于查询Tableau服务器API以运行作业。返回的作业显示在网页上,网页上有一个与每个作业关联的按钮,该按钮允许用户终止该特定作业 如果只有一个作业在运行,则脚本可以正常工作,但是如果有多个作业在运行,则选定的终止按钮将停止与您要终止的作业不同的作业。 我已经包括了整个代码链和一个JSON响应示例以供参考 来自服务器的JSON响应示例: { “分页”:{ “页码”:“1”, “页面大小”:“100”, “totalAvailable”:“2” }, “背景工

我编写了Javascript代码,用于查询Tableau服务器API以运行作业。返回的作业显示在网页上,网页上有一个与每个作业关联的按钮,该按钮允许用户终止该特定作业

如果只有一个作业在运行,则脚本可以正常工作,但是如果有多个作业在运行,则选定的终止按钮将停止与您要终止的作业不同的作业。

我已经包括了整个代码链和一个JSON响应示例以供参考

来自服务器的JSON响应示例:

{
“分页”:{
“页码”:“1”,
“页面大小”:“100”,
“totalAvailable”:“2”
},
“背景工作”:{
“背景工作”:[
{
“id”:“d17901fe-7fc5-4c3c-95ff-7013102b56b0”,
“状态”:“待定”,
“createdAt”:“2021-04-02T16:08:09Z”,
“优先级”:“0”,
“作业类型”:“刷新\u摘要”
},
{
“id”:“e91ab533-8050-4341-8ac9-9f3429d03718”,
“状态”:“待定”,
“createdAt”:“2021-04-02T16:08:09Z”,
“优先级”:“0”,
“作业类型”:“刷新\u摘要”
}
]
}
}
函数getToken(){ 取('https://tableau.bjc.org/api/3.4/auth/signin', { 方法:“POST”, 标题:{ “内容类型”:“应用程序/json”, “接受”:“应用程序/json” }, 正文:JSON.stringify({ “全权证书”:{ “名称”:“登录”, “密码”:“密码”, “地点”:{ “contentUrl”:“默认值” } } }) }).然后(功能(响应){ 返回response.json() }).then(功能(数据){ 令牌=data.credentials.token; siteId=data.credentials.site.id; userId=data.credentials.user.id; 返回数据; } ).然后(函数(){ 返回获取('https://tableau.server/api/3.4/sites/“+siteId+”/jobs?filter=status:eq:InProgress&fields=\u all\u”{ 方法:“get”, 标题:{ “内容类型”:“应用程序/json”, “接受”:“应用程序/json”, “X-Tableau-Auth”:令牌 }, }).然后(功能(响应){ 返回response.json() }).then(功能(数据){ 工作=[数据]; if(作业[0].backgroundJobs.backgroundJob.length==0){ var noJobs=document.createElement(“H4”); noJobs.innerText=“没有正在进行的作业。” document.getElementById(“蜜蜂警报”).appendChild(noJobs); //document.body.appendChild(noJobs); } for(设i=0;i您可以将当前的解决方案简化为以下内容

我所做的是将数据集(
数据作业id
)附加到终止按钮,然后将
单击
侦听器附加到表体,然后使用
结束后台作业
类名来确定按钮是否触发了单击

const fakeResponse={
分页:{pageNumber:“1”,pageSize:“100”,totalAvailable:“2”},
背景工作:{
背景工作:[
{
id:“d17901fe-7fc5-4c3c-95ff-7013102b56b0”,
状态:“待定”,
创建日期:“2021-04-02T16:08:09Z”,
优先级:“0”,
作业类型:“刷新\u摘要”
},
{
id:“e91ab533-8050-4341-8ac9-9f3429d03718”,
状态:“待定”,
创建日期:“2021-04-02T16:08:09Z”,
优先级:“0”,
作业类型:“刷新\u摘要”
}
]
}
};
document.addEventListener(“DOMContentLoaded”,function()){
const$table=document.getElementById('jobs-table');
康斯特恩巴