首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >代码给出错误,"ReferenceError: CryptoJS未定义“,而我已经包含了所需的.js引用,原因是什么?

代码给出错误,"ReferenceError: CryptoJS未定义“,而我已经包含了所需的.js引用,原因是什么?
EN

Stack Overflow用户
提问于 2014-04-09 19:11:30
回答 4查看 27.4K关注 0票数 6

这是我的代码,我包含了以下.js文件,在页面加载时,它给出了错误"ReferenceError: CryptoJS is not defined“,为什么它会在已经添加了js引用的情况下给出这个错误。我正在使用office 365制作sharepoint-2013应用程序。

代码语言:javascript
复制
<script type="text/javascript" src="../Scripts/sha1.js"></script>
<script type="text/javascript" src="../Scripts/hmac-sha1.js"></script>

  'use strict';

var context = SP.ClientContext.get_current();
var user = context.get_web().get_currentUser();

(function () {

    // This code runs when the DOM is ready and creates a context object which is 
    // needed to use the SharePoint object model
    $(document).ready(function () 
    {
        getUserName();

        $("#button1").click(function()
        {
                paraupdate();   
        });

    });

    // This function prepares, loads, and then executes a SharePoint query to get 
    // the current users information

    function paraupdate()
    {

        var str=""+$("#textbox1").val();
        alert(""+str);
        var message = str+"json539ff0f815ca697c681fe01d32ba52e3";
        var secret = "<my private key>";        
        var crypto = CryptoJS.HmacSHA1(message, secret).toString();
        alert("crypto answer is " + crypto);
        var siteurl="http://pnrbuddy.com/api/station_by_code/code/"+str+"/format/json/pbapikey/539ff0f815ca697c681fe01d32ba52e3/pbapisign/"+crypto;


         $.ajax({
            url: siteurl,
            type: "GET",
            dataType: 'json',

            success: function (data) {
                     alert("IN Success");
                alert(""+data.station_by_code);

            },
            error: function (error) {
                alert("IN Error");
                alert(JSON.stringify(error));
            }
        });       


    }


    function getUserName() 
    {
        context.load(user);
        context.executeQueryAsync(onGetUserNameSuccess, onGetUserNameFail);
    }

    // This function is executed if the above call is successful
    // It replaces the contents of the 'message' element with the user name
    function onGetUserNameSuccess() 
    {
        $("#label1").html("Enter Station Code : ");
        $("#button1").val("CLICK");

    }

    // This function is executed if the above call fails
    function onGetUserNameFail(sender, args) {
        alert('Failed to get user name. Error:' + args.get_message());
    }

})();
EN

回答 4

Stack Overflow用户

发布于 2015-09-24 19:59:49

sha256.js之前包括core-min.js

票数 11
EN

Stack Overflow用户

发布于 2014-04-09 21:57:04

修复此问题有两种形式之一:

1:手动加载,我使用这个模式更成功:

代码语言:javascript
复制
$.getScript(scriptbase + "SP.Runtime.js",
            function () {
                $.getScript(scriptbase + "SP.js", execOperation);
            }
        );

示例:

代码语言:javascript
复制
$.getScript("~hostUrl/_layouts/15/SP.RequestExecutor.js", getListDataREST);

2:按需编写脚本:

代码语言:javascript
复制
SP.SOD.executeFunc('sp.userprofiles.js', 'SP.ClientContext', loadUserData);

这篇SharepointExchange文章给出了大多数AppParts的常用JSOM实现:Jquery is not firing on Page load SharePoint 2013

票数 0
EN

Stack Overflow用户

发布于 2014-04-10 16:44:33

错误解决了,我添加了在线参考,

代码语言:javascript
复制
<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/sha1.js"></script>

<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/hmac-sha1.js"></script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22960747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档