ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript – 为什么SP.ClientContext().get_current抛出未捕获的类型错误:undefined不是函数

2019-07-16 10:34:31  阅读:239  来源: 互联网

标签:javascript visual-studio-2013 sharepoint sharepoint-2013


我正在参加http://video.ch9.ms/sessions/spc/2014/SPC261.mp4会议研讨会,他们教会如何做一个sharepoint APP

在某些时候我有这个脚本

$(document).ready(function () {

    //get context and then username
    context = new SP.ClientContext.get_Current();
    web = context.get_web();

    //get the tasks for the user
    getTaskCountForUser();


});

它将简单计算任务列表中剩余的任务数.

我在app部分aspx文件中包含了下一个脚本

<%--<script type="text/javascript" src="../Scripts/jquery-1.9.1.min.js"></script>--%>
<script type="text/javascript" src="/_layouts/15/MicrosoftAjax.js"></script>
<script src="/_layouts/15/sp.js" type="text/javascript"></script>


<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="//ajax.aspnetcdn.com/ajax/4.0/1/MicrosoftAjax.js" type="text/javascript"></script>
<script src="/_layouts/15/sp.runtime.debug.js" type="text/javascript"></script>
<script src="/_layouts/15/sp.debug.js" type="text/javascript"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.9.0/jquery-ui.min.js" type="text/javascript"></script>
<script src="https://ajax.aspnetcdn.com/ajax/knockout/knockout-2.1.0.js" type="text/javascript"></script>
<script src="../Scripts/QuickTask.js" type="text/javascript"></script>

一切似乎都很好.应用程序部分在sahrepoint在线显示,我可以将它包含在家中但脚本只是不工作并抛出未捕获的TypeError:undefined不是一行中的函数

context = new SP.ClientContext.get_Current();

我试着把这样的代码包围起来

ExecuteOrDelayUntilScriptLoaded(function () {
   //my code above in here

}, "sp.js");

但在这种情况下,第一行会抛出相同的错误.

什么可以错过?我在我的msdn订阅,Vsual Studio 2013和视频中使用了Sharepoint E3在线帐户.

谢谢

解决方法:

您的代码中有一些拼写错误,调试js文件的链接(不是这不正确,但为什么需要它们?)和获取ClientContext对象时出错.

要修复脚本包含问题,请使用以下脚本标记而不是您的标记:

<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.1.min.js" ></script>
<script type="text/javascript" src="/_layouts/15/MicrosoftAjax.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.runtime.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.js" ></script>
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.9.0/jquery-ui.min.js" ></script>
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/knockout/knockout-2.1.0.js" ></script>

但主要问题在于这一行:

context = new SP.ClientContext.get_Current();

在这种情况下,您不需要使用new关键字,而是使用getter获取上下文对象.
它应该是:

context = SP.ClientContext.get_current();

还要注意get_current()函数的情况 – 当前单词应该从小写字符开始.

标签:javascript,visual-studio-2013,sharepoint,sharepoint-2013
来源: https://codeday.me/bug/20190716/1477364.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有