使用JavaScript创建SharePoint站点

时间:2014-10-23 16:04:54

标签: javascript sharepoint

我正在尝试使用JSOM按钮单击创建子站点(Web)。该功能正在运行 - 只要使用给定配置创建站点。但是,尽管确实正在创建一个站点,但ExecuteQueryAsync调用总是路由到失败函数。相关代码如下:

 var ctx = SP.ClientContext.get_current();
 var web = ctx.get_web();

 var webCreationInfo = new SP.WebCreationInformation();
 webCreationInfo.set_title(portalName); //note: this variable is defined elsewhere
 webCreationInfo.set_description('');
 webCreationInfo.set_language(1033);
 webCreationInfo.set_url(webUrl); //note: this variable is defined elsewhere
 webCreationInfo.set_useSamePermissionsAsParentSite(false);
 webCreationInfo.set_webTemplate(templateGuid); //note: this variable is defined elsewhere

 web.get_webs().add(webCreationInfo);
 web.update();

 ctx.load(web);                     
 ctx.executeQueryAsync(
      function() {
           alert("Created Site");
      },
      function(sender, args) {
           alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
      }
 );

这包括我的代码中其他地方定义的几个变量,但这不应该是我的问题的一部分。使用正确的模板,名称和URL正确创建网站。

请求失败'尽管正确创建了网站,但警告始终是为我弹出的。 args.get_message()的值是"来自服务器"的意外响应而args.get_stackTrace()的值是' null'。

1 个答案:

答案 0 :(得分:0)

这里的问题实际上是由于按钮而不是上面的代码。我需要添加'event.preventDefault();'到我的onClick函数的开头。否则,页面会尝试刷新 - 这比可以配置站点的速度快得多。