gpt4 book ai didi

javascript - 为什么我在运行 AJAX 查询时收到 '$' is not defined?

转载 作者:行者123 更新时间:2023-11-30 13:47:37 24 4
gpt4 key购买 nike

这可能是一个愚蠢的问题,但我有一个页面,我正在尝试将列表数据加载到客户表中以显示为前端。我在 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",
type: "GET",
headers: {"accept": "application/json;odata=verbose"},
success: function (data) {
if(data.d.results.length>0){
var item=data.d.results[0];
$("#systemImpacted").val(item.SystemOrService);
$("#incidentPriority").val(item.Priority);
$("#incidentState").val(item.IncidentStatus);
$("#incidentTitle").val(item.IncidentTitle);
$("#incidentUpdate").val(item.UpdateResolution);
$("#startTime").val(item.IncidentStart);
$("#impactedAreas").val(item.ImpactedArea.results);
$("#endTime").val(item.IncidentEnd);

updateImpact();
getStartTime();
getEndTime();
actionsFormat();
}
},
error: function (data) {
alert("Incident Reference incorrect or not found");
}
});
}
}

最佳答案

问题是 jQuery ($) 尚未加载到页面。如果您以前使用过它,这意味着加载已经设置好,因此您不需要添加更多对 jQuery 的引用。

在大多数情况下,当您使用 jQuery 时,您将订阅 DOM 事件就绪事件并在那里执行您的代码。

所以,你只需要找到

$(document).ready( ...

声明并在那里插入您的代码。

如果您想将您的代码与现有代码分开,您可以编写自己的 $(document).ready 订阅。

如果您找不到这个 $(document).ready 函数,您可以在 html 中搜索对 jQuery 的引用,并在其之后插入您的脚本。但是,您需要确定的是,该引用不包含 async 或 defer 属性。

如评论中所述,如果您决定添加自己的订阅,您还需要将其放在 jQuery 引用之后,因为如果 $ 不可用,它将无法工作。

关于javascript - 为什么我在运行 AJAX 查询时收到 '$' is not defined?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58973979/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com