当我在Chrome中检查控制台时,Sharepoint页面的行为与data
为Object {d: Object}
时的情况相同,而d是所需项目的数组。
当数据为#document
时,由于我根据数据追加html,因此页面无法加载。
我理解#document是因为jQuery的智能猜测而出现的,但我不确定它为什么会被退回。
function getItems() {
var url = hostWebURL + "_api/web/lists('" + guid + "')/items/";
var items;
$.ajax({
url: url,
type: "GET",
headers: { "Accept": "application/json;odata=verbose "}, // return data format
success: function (data) {
//items is iterable ListItemCollection
console.log(data);
items = data.d.results;
...
},
error: function (error) {
var errorMsg = "";
if (error.status == "403" || error.status == "401") {
errorMsg = "You do not have Authorization to see Site Permissions - ErrorCode(" + error.status + ") Error Details: " + error.statusText;
}
else {
var errorMsg = "Failed - ErrorCode(" + error.status + ") Error Details: " + error.statusText;
}
reportError(errorMsg);
答案 0 :(得分:1)
beforeSend: function (XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("Accept", "application/json; odata=verbose");
在通话中添加了此参数并且它正在运行!
取自:http://ratsubsharewall.blogspot.com/2017/02/rest-call-returns-xml-instead-of-json.html