如何使用 SOAP 从 SharePoint List 接收 GetListItems

How Can I receive the GetListItems from Sharepoint List using SOAP?

本文关键字:List 接收 GetListItems SharePoint 何使用 SOAP      更新时间:2023-09-26

我需要从SharePoint List获取列表项。

我正在当地这样做。我尝试使用此代码:

<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
    $(document).ready(function() {
        var listName = "Backlog";
        makeSoapCall(listName);
    });
function makeSoapCall(listName){
    var soapEnv =
    "<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'> '
      <soap:Body> '
        <GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'> '
          <listName>" + listName + "</listName> '
          <viewName></viewName> '
          <query></query> '
          <viewFields></viewFields> '
          <rowLimit></rowLimit> '
          <queryOptions></queryOptions> '
          <webID></webID> '
        </GetListItems> '
      </soap:Body> '
    </soap:Envelope>"
  $.ajax({
    url: "http://server/site/_vti_bin/Lists.asmx",
    type: "POST",
    dataType: "jsonp",
    data: soapEnv,
    complete: resultsFeedback,
    contentType: "application/json; charset='"utf-8'""
  });
}
function resultsFeedback(xData, status) {
    console.log("xData: " + xData);
    console.log("status: " + status);
}

然后,我收到了这条消息:

Resource interpreted as Script but transferred with MIME type text/html: "http://server/site/_vti_bin/Lists.asmx?callback=jQuery11100353987290…stItems%3E%20%20%20%3C/soap:Body%3E%20%3C/soap:Envelope%3E&_=1396538736189". jquery-1.11.0.min.js:4 Uncaught SyntaxError: Unexpected token < Lists.asmx:3
xData: [object Object] report.html:37
status: parsererror

谁能帮忙?

提前谢谢。埃德森·马丁斯

ajax 调用对象的数据类型属性不正确。它应该是"xml"。此外,您的"contentType"属性应该具有应用程序/xml值而不是json。试试这个:

$.ajax({
    url: "http://server/site/_vti_bin/Lists.asmx",
    type: "POST",
    dataType: "xml",
    data: soapEnv,
    complete: resultsFeedback,
    contentType: "application/xml; charset='"utf-8'""
  });