这一切都很新鲜。
作为一项学习练习,我正在尝试使用REST API调用返回的结果更新SharePoint页面上的div“消息”。
我可以将我的查询网址复制/粘贴到我的浏览器中并获得结果,所以我无法想象这是问题所在,但是当我嵌入以下脚本时,我似乎无法成功或失败。
非常感谢任何帮助。
<div id="message"></div>
<input type="button" value="Get" onclick="doGet();" >
<script>
function doGet()
{
var call = jQuery.ajax({
url: "https://X/sites/forms/_api/web/lists/getByTitle('Y')/items?$select=Z&$top=1",
type: "GET",
dataType: "json",
headers: {
Accept: "application/json;odata=verbose"
}
});
call.done(function (data,textStatus, jqXHR) {
alert("CallDone");
var message = jQuery("#message");
jQuery.each(data.d.results, function (index, item) {
message.append("<br/>");
message.append(item.Z);
$get("message").innerHTML = item.Z;
});
});
call.fail(function (jqXHR,textStatus,errorThrown){
alert("Call failed");
alert("Error retrieving: " + errorThrown);
});
}
</script>
答案 0 :(得分:0)
确保您正在为SP REST服务进行正确调用:
<button id="button" type="button">Get Data</button>
$('#button').click(function (e) {
e.preventDefault();
doGet();
});
function doGet() {
var resultDiv = $('#message');
$.ajax({
url: "https://X/sites/forms/_api/web/lists/getByTitle('Y')/items?$select=Z&$top=1",
type: "GET",
dataType: "json",
headers: {
Accept: "application/json;odata=verbose"
},
beforeSend: function () {
console.info("Loading Data");
resultDiv.empty();
resultDiv.append(
$('<p>', { class: 'bg-warning', text: 'Loading....' })
);
},
success: function (data) {
resultDiv.empty();
$.each(data.value, function (index, value) {
resultDiv.append(
$('<p>', { class: 'bg-warning', text: value.YOURPROPERTY })
);
})
},
error: function (data) {
console.error("Error retieving: " + data);
resultDiv.empty();
resultDiv.append(
$('<p>', { class: 'bg-error', text: data })
);
}
});
}
希望这会有所帮助,如果确实如此,请不要忘记将其标记为答案