我正在编写JQUERY和Javascript以从SharePoint列表中获取内容。我有一个工作解决方案,如下所示:
var $countcontainer = $("#mycountcontainer");
$SP().list("My List").get({
fields: "Consultant",
view: "Completed",
where: "Author = '[Me]'"
},function getData(row) {
$countcontainer.empty().append(row.length);
});
这是使用sharepoint plus api并且工作得很好。我遇到的问题是我有很多列表,我想从我的所有列表中获取计数。我的想法是将所有字段和视图添加到数组中,并将代码更改为以下内容:
var forms = ["\"My List1\"", "\"My List2\"", "\"My List3\""];
var views = ["\"Completed\"", "\"In Progress\"", "\"Incomplete\""];
var totalcount;
for (var i = 0; i < forms.length; i++){
$SP().list(forms[i]).get({
fields: "Consultant",
view: views[i],
where: "Author = '[me]'"
},function getData(row) {
totalcount += row.length;
});
}
如果我在列表和视图的引号中加上实际名称,则此方法有效:
for (var i = 0; i < forms.length; i++){
$SP().list("My List").get({
fields: "Consultant",
view: "Completed",
where: "Author = '[me]'"
},function getData(row) {
totalcount += row.length;
alert(totalcount);
});
}
无论出于何种原因,使用数组或JavaScript变量都会失败,并给出错误:
Expected identifier, string or number
我的假设是数组是一个对象,而get调用期望一个字符串。我已尝试以下操作将变量更改为字符串:
.toString()
String(""\form1\"")
forms[i]+""