我有以下代码,如下所示。我在这里使用SOAP信封在AJAX中取回一些结果。如果我查看IE的开发人员工具,并转到响应正文,我会看到结果。但是,我无法将它们显示在页面上。
$(document).ready(function() {
var soapEnv = "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> \
<soapenv:Body> \
<GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'> \
<listName>Topics</listName> \
<viewFields> \
<ViewFields> \
<FieldRef Name='Title' /> \
</ViewFields> \
</viewFields> \
</GetListItems> \
</soapenv:Body> \
</soapenv:Envelope>";
$.ajax({
url: "mysite/subsite/_vti_bin/lists.asmx",
type: "POST",
dataType: "xml",
data: soapEnv,
contentType: "application/xml; charset=utf-8",
async:true,
success: function (dataBack) {
$("#Result").text(dataBack["d"]);
}, error : alert("error"),
contentType: "text/xml; charset=\"utf-8\""
});
});
<div id="Results"></div>
请告知。
答案 0 :(得分:0)
你的ajax调用正在返回xml(dataBack),所以dataBack["d"]
没有意义。看来你把它与JSON混淆了。
答案 1 :(得分:0)
您使用的是SP2013吗? 你可以轻松打电话 / _api /网络/列表/ GetByTitle( '主题')/项目
参考 https://msdn.microsoft.com/en-us/library/office/dn292552.aspx
答案 2 :(得分:0)
对我来说这个问题的实际答案是......是的,我可以使用没有SOAP信封的CAML查询。相反,我正在使用CSOM。我最初尝试时缺少引用,所以我开始使用SOAP。我最终找到了缺失引用的位置,并且它没有托管,而是在Layout文件夹中!