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