SharePoint 2013上的Javascript对象模型未加载
Javascript Object Model On SharePoint 2013 Not Loading
我在JSOM SharePoint 2013上有一个常见错误。我有一个低于的功能
function getTasks() {
var context = new SP.ClientContext(appWebUrl);
var web = context.get_web();
context.load(web);
var splist = web.get_lists().getByTitle("Gorevler");
var taskQuery = new SP.CamlQuery();
taskQuery.set_viewXml("<View><Query>" +
"<Where><Eq><FieldRef Name='AssignedTo' LookupId='True' /><Value Type='Integer'>" + currentUserId + "</Value></Eq></Where></Query>" +
"<ViewFields><FieldRef Name='Title' /><FieldRef Name='AssignedTo' /><FieldRef Name='StartDate' /><FieldRef Name='DueDate' /></ViewFields></View>");
var taskQueryItems = splist.getItems(taskQuery);
context.load(taskQueryItems);
context.executeQueryAsync(
Function.createDelegate(this, successHandler),
Function.createDelegate(this, errorHandler)
);
function successHandler() {
var taskAdet = taskQueryItems.get_count();
alert("Adet : " + taskAdet);
}
function errorHandler(sender, args) {
alert("Hata");
}
当我重新运行上面的代码时,它会告诉我:"集合尚未初始化。它尚未被请求或请求尚未执行。可能需要显式请求。"为什么我必须刷新页面才能获得成功的结果?有没有办法在每次执行中都得到正确的结果?
感谢
只需移除context.load(web)
即可。
function getTasks() {
var context = new SP.ClientContext(appWebUrl);
var web = context.get_web();
context.load(web); // <-- This is your problem.
var splist = web.get_lists().getByTitle("Gorevler");
var taskQuery = new SP.CamlQuery();
taskQuery.set_viewXml("<View><Query>" +
"<Where><Eq><FieldRef Name='AssignedTo' LookupId='True' /><Value Type='Integer'>" + currentUserId + "</Value></Eq></Where></Query>" +
"<ViewFields><FieldRef Name='Title' /><FieldRef Name='AssignedTo' /><FieldRef Name='StartDate' /><FieldRef Name='DueDate' /></ViewFields></View>");
var taskQueryItems = splist.getItems(taskQuery);
context.load(taskQueryItems);
context.executeQueryAsync(
Function.createDelegate(this, successHandler),
Function.createDelegate(this, errorHandler)
);
收件人:
function getTasks() {
var context = new SP.ClientContext(appWebUrl);
var splist = context.get_web().get_lists().getByTitle("Gorevler");
var taskQuery = new SP.CamlQuery();
taskQuery.set_viewXml("<View><Query>" +
"<Where><Eq><FieldRef Name='AssignedTo' LookupId='True' /><Value Type='Integer'>" + currentUserId + "</Value></Eq></Where></Query>" +
"<ViewFields><FieldRef Name='Title' /><FieldRef Name='AssignedTo' /><FieldRef Name='StartDate' /><FieldRef Name='DueDate' /></ViewFields></View>");
var taskQueryItems = splist.getItems(taskQuery);
context.load(taskQueryItems);
context.executeQueryAsync(
Function.createDelegate(this, successHandler),
Function.createDelegate(this, errorHandler)
);
相关文章:
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 加载 .dae 模型时不显示纹理
- Webgl 加载 json 模型问题
- 如何在JSON中加载对象内部的数组元素
- findAll() 在 Sequelize 中预先加载的模型上
- 从页面上的字段加载 JavaScript 模型
- 在 emberjs 中加载对象的正确方法是什么
- 使用三.js从本地机器加载 OBJ 模型
- Yii:使用 ajax 动态加载新模型
- 通过 id-Extjs 将数据加载到模型中
- 使用逻辑加载对象
- 如何将数据从服务器呈现的 html 加载到模型中
- nodejs require不是全局加载对象
- 无法加载 JSON 模型
- 在铯.js中加载 GLTF 模型
- 无法在三个 JS 中加载 js 模型
- 使用 HTML5 画布元素和 Javascript 加载 3D 模型
- JavaScript:如何预加载<对象>图像数据?/ JavaScript 的图像与<对象>
- 通过 THREE.js 从客户端的本地计算机加载 .obj 模型
- EmberJS:基于另一个属性重新加载控制器模型的最佳方法