Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript RESTAPI调用不使用数组内容填充表_Javascript_Html_Json_Ajax - Fatal编程技术网

Javascript RESTAPI调用不使用数组内容填充表

Javascript RESTAPI调用不使用数组内容填充表,javascript,html,json,ajax,Javascript,Html,Json,Ajax,我有一个查询,当用户转到一个页面时会触发,该页面返回升级的轮班联系点。我遇到的问题是,我为这些POC指定的表中没有填充任何内容。我在下面添加了我的代码,包括应该填充的HTML元素,但控制台中没有返回错误,我知道在我运行Ajax查询并查看XML结果时,应该填充一些数据,我可以看到应该显示的条目。我在同一页面上有另一个调用,该调用与另一个列表联系以检索正在进行的关键事件,并且该调用没有任何问题,因此我确信是.innerHTML部分导致了问题,如初始的.innerHTML=“”命令正在清除占位符文本,

我有一个查询,当用户转到一个页面时会触发,该页面返回升级的轮班联系点。我遇到的问题是,我为这些POC指定的表中没有填充任何内容。我在下面添加了我的代码,包括应该填充的HTML元素,但控制台中没有返回错误,我知道在我运行Ajax查询并查看XML结果时,应该填充一些数据,我可以看到应该显示的条目。我在同一页面上有另一个调用,该调用与另一个列表联系以检索正在进行的关键事件,并且该调用没有任何问题,因此我确信是
.innerHTML
部分导致了问题,如初始的
.innerHTML=“”命令正在清除占位符文本,但未完成任何其他操作


var filManager=[];
var mancontact=document.getElementById(“managercontact”);
函数getContacts(){
$.ajax({
url:“…/_api/web/lists/getbytitle('On Shift Contacts')/items?$filter=Status eq'In'&$select=Title、Id、角色、状态、编号、品牌”,
键入:“获取”,
标题:{
“接受”:“application/json;odata=verbose”
},
成功:功能(数据){
FilmManager=数据d.结果;
FilmManager=FilmManager.filter(功能(项目){
返回项。角色==“事件管理器”;
});
如果(FilmManager==未定义| | FilmManager==0){
mancontact.innerHTML=“当前没有轮班经理”;
}否则{
mancontact.innerHTML=“”;
mancontact+=“值班经理姓名联系人号码位置”;
用于(FilmManager中的var obj){
mancontact.innerHTML+=“”+FilmManager[obj]。标题+“”+FilmManager[obj]。编号+“”+FilmManager[obj]。品牌+“”;
}
}
}
});
}

占位符
调用的数组输出示例:

filManager = [
{ID:"1", Title: "Person1", Status: "In", Role: "Incident Controller", Brand: "Consumer", Number: "01234 567 890"},
{ID:"2", Title: "Person2", Status: "In", Role: "Incident Manager", Brand: "Consumer", Number: "01234 567 890"},
{ID:"3", Title: "Person3", Status: "Off", Role: "Incident Manager", Brand: "Business", Number: "01234 567 890"},
{ID:"4", Title: "Person4", Status: "Off", Role: "Incident Controller", Brand: "Business", Number: "01234 567 890"},];

我设法在if语句中找到了缺少的
innerHTML
。添加下面的代码而不是上面的if语句为我解决了这个问题

            mancontact.innerHTML = "<tr><td style='font-family:Calibri'><center>There are currently no on-shift Managers</center></td></tr>";
            } else {
            mancontact.innerHTML = "";
            mancontact.innerHTML += "<tr style='font-family:Calibri;font-size:14pt;text-align:center'><td colspan='3'>Manager On-Shift</td></tr><tr style='font-family:Calibri;font-size:12pt;text-align:center'><td>Name</td><td>Contact Number</td><td>Location</td></tr>";
            for(var obj in filManager){
                mancontact.innerHTML += "<tr style='font-family:Calibri;font-size:12pt;text-align:center'><td>" + filManager[obj].Title + "</td><td>" + filManager[obj].Number + "</td><td>" + filManager[obj].Brand + "</td></tr>";
            }```

mancontact.innerHTML=“当前没有值班经理”;
}否则{
mancontact.innerHTML=“”;
mancontact.innerHTML+=“值班经理姓名联系人号码位置”;
用于(FilmManager中的var obj){
mancontact.innerHTML+=“”+FilmManager[obj]。标题+“”+FilmManager[obj]。编号+“”+FilmManager[obj]。品牌+“”;
}```

考虑提供服务器返回的json。我们无法对您的ajax调用执行任何操作。顺便说一句,如果没有错误,筛选器将返回一个数组(可能为空),因此测试未定义是没有用的,测试0也是没有用的,因为数组不是0。(您应该只测试FilmManager.length==0)我已经添加了一个ajax调用返回数据的示例,但是我相信我已经解决了这个问题,因为在else部分中缺少
.innerHTML
。示例输出似乎是错误的,它缺少文本值周围的引号。