这是我的代码,我已经包含了以下.js文件,onpage load它给出了错误“ReferenceError:CryptoJS未定义”为什么它在添加了js引用时会给出错误.我正在使用Office 365创建一个sharepoint-2013应用程序.
<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()); } })();
解决方法
在sha256.js之前包含core-min.js