可能是一个愚蠢的问题,但我有一个页面,我试图将列表数据加载到客户表中以显示为前端。我正在使用 Javascript 函数中的 AJAX 调用从 SharePoint 列表中检索此列表,但是当我使用此函数时,我的控制台返回SCRIPT5009: '$' is not defined错误。以前,我使用非常相似的代码成功使用了 AJAX 调用,但是使用列表 ID 从列表中返回单个项目来搜索特定项目,并且我直接从返回的 URL 成功运行查询我正在寻找的数据 - 我只是不确定这个发生了什么。function getIncidents(){ $.ajax({ url: "SharepointURL/_api/web/lists/getbytitle('Incident List')/items?$select=Title,Id,Priority,IncidentStart,IncidentStatus,IncidentTitle,UpdateResolution", type: "GET", headers: {"accept": "application/json;odata=verbose"}, success: function (data) { var dResponse = data.d.results; var results = document.getElementById('Results'); results.innerHTML += "<tr><td>Incident<br>Reference</td><td style='width:20px'></td><td>Priority</td><td style='width:20px;'></td><td>Start Time</td><td style='width:20px'></td><td style='width:170px'>Issue</td><td style='width:20px'></td><td style='width:170px'>Latest Update</td><td style='width:20px'></td></tr>"; for(var obj in dResponse){ results.innerHTML += "<tr style='font-size:10pt'><td>"+dResponse[obj].Title + "</td><td></td><td>" + dResponse[obj].Priority + "</td><td></td><td>" + dResponse[obj].IncidentStart + "</td><td></td><td>" + dResponse[obj].IncidentTitle + "</td><td></td><td>" + dResponse[obj].UpdateResolution + "</td></tr>"; } } });}上一个我有这个调用的例子:function getIncident() { var listName="Incident List"; var incidentID = $("#incidentReference").val(); if(incidentID!=""){ $.ajax({ url: "SharepointURL/_api/web/lists/getbytitle('Incident List')/items?$filter=Title eq '" + incidentID + "'&$select=Title,Id,SystemOrService,Priority,IncidentStatus,IncidentTitle,UpdateResolution,IncidentStart,ImpactedArea,IncidentEnd", updateImpact(); getStartTime(); getEndTime(); actionsFormat(); } }, error: function (data) { alert("Incident Reference incorrect or not found"); } }); } }
1 回答
![?](http://img1.sycdn.imooc.com/545863b500014e4602200220-100-100.jpg)
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
问题是 jQuery ($) 尚未加载到页面。如果你之前使用过,这意味着加载已经设置好了,所以你不需要添加更多对 jQuery 的引用。
在大多数情况下,当您使用 jQuery 时,您将订阅 DOM 事件就绪事件并在那里编写代码。
所以,你只需要找到
$(document).ready( ...
声明并在那里插入您的代码。
如果您想将您的代码与已经存在的代码分开,您可以编写自己的 $(document).ready 订阅。
如果你找不到这个 $(document).ready 函数,你可以在 html 中搜索对 jQuery 的引用,然后在它后面插入你的脚本。但是,您需要确定的是,该引用不包括 async 或 defer 属性。
如评论中所述,如果您决定添加自己的订阅,还需要将其放在 jQuery 引用之后,因为如果 $ 不可用,它将不起作用。
添加回答
举报
0/150
提交
取消