簡體   English   中英

SP.js“未捕獲的TypeError:對象[object Object]沒有方法'get_staticObjects'”

[英]SP.js “Uncaught TypeError: Object [object Object] has no method 'get_staticObjects'”

我正在嘗試編寫一個小的SPA,用作SharePoint列表的UI層。

我已經通過常規的AJAX調用成功完成了此操作,但是由於該方法的局限性,我現在想使用JavaScript對象模型進行此操作。

我遇到的問題是SP.js錯誤(從標題開始):

*未捕獲的TypeError:對象[object Object]沒有方法'get_staticObjects'*

這幾乎阻止了我進入腳本。

這是頁面的代碼:

<!DOCTYPE html>
<html>
<head>
    <title>JavaScript Object Model Test</title>

    <script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
    <script type="text/javascript" src="js/knockout-2.3.0.js"></script>

    <script type="text/javascript" src="/_layouts/MicrosoftAjax.js"></script>
    <script type="text/javascript" src="/_layouts/1033/init.js"></script>
    <script type="text/javascript" src="/_layouts/SP.js"></script>
    <script type="text/javascript" src="/_layouts/SP.Core.js"></script>

</head>
<body>
<script type="text/javascript">
    var siteUrl = '/sites/MySiteCollection';
    function retrieveListItems() {
        var clientContext = new SP.ClientContext(siteUrl);
        var oList = clientContext.get_web().get_lists().getByTitle('Announcements');
        var camlQuery = new SP.CamlQuery();
        camlQuery.set_viewXml('<View><Query><Where><Geq><FieldRef Name=\'ID\'/>' + 
            '<Value Type=\'Number\'>1</Value></Geq></Where></Query><RowLimit>10</RowLimit></View>');
        this.collListItem = oList.getItems(camlQuery);
        clientContext.load(collListItem);
        clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));       
    }

    function onQuerySucceeded(sender, args) {
        var listItemInfo = '';
        var listItemEnumerator = collListItem.getEnumerator();
        while (listItemEnumerator.moveNext()) {
            var oListItem = listItemEnumerator.get_current();
            listItemInfo += '\nID: ' + oListItem.get_id() + 
                '\nTitle: ' + oListItem.get_item('Title') + 
                '\nBody: ' + oListItem.get_item('Body');
        }
        alert(listItemInfo.toString());
    }
    function onQueryFailed(sender, args) {
        alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
    }
    ExecuteOrDelayUntilScriptLoaded(retrieveListItems, "sp.js");
</script>
</body>
</html>

當我運行該命令時,什么也沒有發生,但是控制台輸出了上面的錯誤。

我設法通過在SharePoint Designer中創建空白頁並嵌入HTML並鏈接到其中的腳本來解決此問題。 SharePoint將無法在HTML頁面中正確加載JavaScript框架-僅在SharePoint創建的ASPX頁面中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM