Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.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中不能通过OM获取ClientContext?_Javascript_Sharepoint_Sharepoint 2010 - Fatal编程技术网

为什么我能';在JavaScript中不能通过OM获取ClientContext?

为什么我能';在JavaScript中不能通过OM获取ClientContext?,javascript,sharepoint,sharepoint-2010,Javascript,Sharepoint,Sharepoint 2010,以下是我在项目中所做的: <asp:Content ContentPlaceHolderID="PlaceHolderAdditionalPageHead" runat="server"> <script type="text/javascript"> alert("before"); //It can not work cause the LIST is in the subsite called "Service" //var clientContext

以下是我在项目中所做的:

<asp:Content ContentPlaceHolderID="PlaceHolderAdditionalPageHead" runat="server">
<script type="text/javascript">
  alert("before");
  //It can not work cause the LIST is in the subsite called "Service"
  //var clientContext = SP.ClientContext.get_current();
  var context =new SP.ClientContext("http://sp2010dev1:88/Service/");
  alert(context );  
</script>
</asp:Content>

警惕(“之前”);
//它无法工作,因为列表位于名为“服务”的子网站中
//var clientContext=SP.clientContext.get_current();
var context=new SP.ClientContext(“http://sp2010dev1:88/Service/");
警报(上下文);
但是,警报(上下文)无法执行,当我检查concole时,它显示我
类型错误:SP.ClientContext不是构造函数
,也就是说ClientContext的初始化有问题。为什么?如何获取ClientContext?还是因为缺少SP.js


我的最终解决方案是:将此语句添加到母版页:,然后一切正常!这可能会对您有所帮助。

是的,可能是因为SP.js未加载。试试这个:

<SharePoint:ScriptLink runat="server" Name="SP.js" Localizable="false" OnDemand="False" LoadAfterUI="True"></SharePoint:ScriptLink>
<script type="text/javascript">
    ExecuteOrDelayUntilScriptLoaded(function () {
        /* your code here */;
    }, "sp.js");
</script>

ExecuteOrderLayUntilScriptLoaded(函数(){
/*您的代码在这里*/;
},“sp.js”);

不要直接在
块中写入,而是尝试插入
函数
并在负重时调用该函数

另一个好方法是使用jquery调用

$(document).ready()(function(){
var context =new SP.ClientContext("http://sp2010dev1:88/Service/");
  alert(context );  

});
尝试一次,即使它不起作用,然后将尝试找到另一个解决方案


根据steve的建议,除此之外,还包括第一个
sp.js
,并执行其余的操作。

默认情况下,SharePoint不加载sp.js吗?它的工作原理是添加一些代码来加载sp.js!拥有sharepoint网站后,sp.js将自动加载。如果要检查是否加载了
sp.js
,请转到IE和“转到脚本”选项卡中的开发人员工具并搜索
sp.js
,您会找到它。我确实有一个SharePoint网站。但是它似乎没有加载sp.js,所以现在很混乱,但OM操作的延迟看起来不是很好