javascript - 无法让 ClientContext.executeQuery() 在 javascript 中工作

标签 javascript sharepoint-2010

我正在从共享点列表中获取信息,然后我想使用该数据。问题是我需要在使用数据之前从 Sharepoint 服务器更新数据,但我无法让 executeQuery() 工作。我可以让 executeQueryAsync() 工作。这是我的代码:

// Global variables;
var context;
var web; 
var list;
var howManyItem = 0;
var allItems;
var randNums = [];

// Initializes the variables; Sets listname; Gets all items; 
function init(){

    context = new SP.ClientContext.get_current();
    web = context.get_web();

    // Enter the list name;
    this.list = web.get_lists().getByTitle('LetsTalkAdded');

    // Get item count in the query/list;
    var query = SP.CamlQuery.createAllItemsQuery();
    allItems = list.getItems(query);
    context.load(allItems, 'Include(Title)');
    context.executeQueryAsync(Function.createDelegate(this, this.success), Function.createDelegate(this, this.failed)); 
}

这工作正常,但是当我将最后一行更改为:

context.executeQuery(Function.createDelegate(this, this.success), Function.createDelegate(this, this.failed)); 

它不再有效,但我无法异步运行它们。如果我这样做,我的代码中依赖于该信息的部分将不起作用。为什么 executeQuery() 函数不起作用?

最佳答案

我一直在尝试使用 ExecuteQuery 而不是 Async 版本来做类似的事情。从我发现的情况来看,JSOM 不支持非异步版本。所以你必须使用异步版本。

看着他的 6 号。 http://blogs.msdn.com/b/sharepointdev/archive/2011/07/19/working-with-the-ecmascript-client-object-model-jsom-in-sharepoint-2010-part-3-nikhil-sachdeva.aspx

关于javascript - 无法让 ClientContext.executeQuery() 在 javascript 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12147472/

相关文章:

javascript - AngularJS ng-grid - 动态更新列和结果

javascript - 根据条件使用 ng-repeat 动态显示输入复选框

javascript - 在 Flutter Webview 中运行一些 Javascript 文件,例如 index.js

c# - 如何从共享点列表中获取所有文件夹和项目?

sharepoint-2010 - 自定义字段无法显示在甘特图的左 Pane 中 (SharePoint 2010)

sharepoint-2010 - 将 TFS 2010 项目集合迁移到 TFS 2012

javascript - D3 v4 单击可拖动的元素

javascript - Jquery fadeIn fadeOut 在 IE8 中不工作,但在 chrome,firefox 中工作

希望进入 SharePoint 的 ASP.NET 开发人员 - 2007 或 2010?

powershell - 如何从SharePoint 2010工作流中调用可执行文件或Powershell脚本?