это мой первый пост в Stackoverflow. Надеюсь, вы, ребята, можете помочь мне с моей проблемой. У меня есть HTML-страница на domain1.sharepoint.com, и я пытаюсь получить все элементы списка из SharePoint на domain2.sharepoint.com с помощью JQuery+SPServices.
Я понимаю, что из-за политики одного и того же источника мне нужно использовать XMLHttpRequest (CORS), чтобы получить нужные мне данные. К сожалению, я не знаю, как поместить XMLHttpRequest в SPServices. Я пробовал и получаю ошибку «неопределенно». Я новичок в JavaScript, буду благодарен за помощь.
Вот что я сделал до сих пор:
$.support.cors = true;
function createCORSRequest(method, refURL) {
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr) {
xhr.open(method, refURL, true);
} else if (typeof XDomainRequest != "undefined") {
xhr = new XDomainRequest();
xhr.open(method, refURL);
} else {
xhr = null;
}
return xhr;
}
function makeCorsRequest() {
var refURL = 'http://domain1.sharepoint.com';
var spURL = refURL;
var xhr = createCORSRequest('GET', spURL);
if (!xhr) {
alert('CORS not supported');
return;
}
xhr.onload = function() {
$().SPServices({
operation: "GetListItems",
webURL: spURL,
listName: "Message Log",
viewName: "{70DFBF9A-5266-4D69-AD01-E848301B51BB}",
async: false,
CAMLViewFields: "<ViewFields><FieldRef Name='Status' /></ViewFields>",
completefunc: function (xData, status) {
$("#countlist").html($(xData.responseXML).find("z\\:row").length);
}
});
};
xhr.onerror = function(e, jqxhr) {
alert('Woops, there was an error making the request. ' + jqxhr);
};
xhr.send();
}
onload = makeCorsRequest;