我正在尝试使用JavaScript,jQuery和Ajax在SharePoint列表中创建一个新项目,这是我的功能:
function CreateItem(Title) {
var soapEnv =
"<soapenv:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " +
"xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
"xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
"<soapenv:Body>" +
"<UpdateListItems xmlns=\"http://schemas.microsoft.com/sharepoint/soap/\">" +
"<listName>listName</listName>" +
"<updates>" +
"<Batch OnError=\"Continue\">" +
"<Method ID=\"1\" Cmd=\"New\">" +
"<Field Name=\"ID\">New</Field>" +
"<Field Name=\"Title\">" + Title + "</Field>" +
"</Method>" +
"</Batch>" +
"</updates>" +
"</UpdateListItems>" +
"</soapenv:Body>" +
"</soapenv:Envelope>";
$.ajax({
url: "http://URL/_vti_bin/lists.asmx",
type: "POST",
dataType: "xml",
data: soapEnv,
beforeSend: function (xhr) {
xhr.setRequestHeader("SOAPAction",
"http://schemas.microsoft.com/sharepoint/soap/UpdateListItems");
},
complete: processCreateResultSuccess,
contentType: "text/xml; charset=\"utf-8\"",
error: processCreateResultError
});
}
这部分工作正常,我能够使用在函数中传递的Title创建一个新项目。但是我还想在创建它时添加一个描述,并添加:
"<Field Name=\"Description\">" + "a description" + "</Field>" +
不起作用,为什么会这样,我该怎么做?
答案 0 :(得分:0)
您是否检查过此字段是否存在以及您是否正在使用其内部名称?另一件事,我很好奇你为什么使用这种方法?你不能使用客户端对象模型来执行这些操作吗?