为了账号安全,请及时绑定邮箱和手机立即绑定

如何将 ODATA 结果中的信息检索到 JavaScript 变量中?

如何将 ODATA 结果中的信息检索到 JavaScript 变量中?

烙印99 2021-12-12 09:38:53
我正在使用 SharePoint 创建一个按钮,您可以单击该按钮从在该 SharePoint 上创建的列表中检索列表条目,并根据检索到的内容填充一系列文本区域。然后,这将用于编辑和发回,或填充到 html 格式的模板中以通过电子邮件发送。到目前为止,我有 ODATA 电话:function retrieveData(){var incidentID = document.getElementById("IncidentRef");var requestUri = "https://site/_api/Web/Lists/GetByTitle('Incident List')/Items?$Filter=Title eq '" + incidentID + "'&$select=Title,Id,ImpactedArea,IncidentStatus,Impact,AdvisorActions,Update";}从这里,我可以得到一个 XML 响应,它显示了我想要从列表中成功检索的所有内容 - 我不知道该怎么做是将它从 ODATA XML 响应传输到我可以的 JavaScript 变量中然后分配给.value我为显示此信息而设置的各种文本区域。我读到您可以将数据作为 JSON 文件检索 - 这会将数据存储在控制台中以便我可以从那里提取数据吗?如果是这样,您如何从中检索数据?
查看完整描述

2 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

以下示例代码供您参考。


<input id="IncidentRef" type="text"/><input type="button" value="GetItem" onclick="getListItem()"/>

<p>Title: <input id="Title" type="text"/></p>

<p>ImpactedArea: <input id="ImpactedArea" type="text"/></p>

<p>IncidentStatus: <input id="IncidentStatus" type="text"/></p>

<p>Impact: <input id="Impact" type="text"/></p>

<p>AdvisorActions: <input id="AdvisorActions" type="text"/></p>

<p>Update: <input id="Update" type="text"/></p>

<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js"></script>

<script type="text/javascript">

function getListItem(){

    var listName="Incident List";

    var incidentID = $("#IncidentRef").val();

    if(incidentID!=""){

        $.ajax({

            url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('"+listName+"')/items?$filter=Title eq '" + incidentID + "'&$select=Title,Id,ImpactedArea,IncidentStatus,Impact,AdvisorActions,Update",

            type: "GET",

            headers: {

                "Accept": "application/json;odata=verbose",

            },

            success: function (data) {

                if(data.d.results.length>0){

                    var item=data.d.results[0];

                    $("#Title").val(item.Title);

                    $("#ImpactedArea").val(item.ImpactedArea);

                    $("#IncidentStatus").val(item.IncidentStatus);

                    $("#Impact").val(item.Impact);

                    $("#AdvisorActions").val(item.AdvisorActions);

                    $("#Update").val(item.Update);

                }                

            },

            error: function (data) {

                //alert("Error");

            }

        });

    }    

}

</script>

//img1.sycdn.imooc.com//61b5537a0001f57406610485.jpg

查看完整回答
反对 回复 2021-12-12
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

要获取 JSON,请将以下内容添加为 REST 请求中的标头。(您是使用 jQuery AJAX 还是...?)


{"accept": "application/json; odata=verbose"}

或以下任何一项:


{"accept": "application/json; odata=minimalmetadata"}


{"accept": "application/json; odata=nometadata"}


查看完整回答
反对 回复 2021-12-12
  • 2 回答
  • 0 关注
  • 195 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号