Итак, в моей компании работает сервер Sharepoint 2007, и мне было поручено настроить пространство управления проектами с помощью этой службы. Моя цель заключается в том, чтобы иметь возможность создавать PDF-файлы на стороне клиента, содержащие информацию из любого элемента списка, который выбирает пользователь.
То, чего я достиг на данный момент, это определение того, что я могу использовать веб-часть редактора общего содержимого на странице по умолчанию, я могу включить JS в эту веб-часть и что этот JS может получать заголовки элементов списка с помощью JQuery. Код, который я использую, показан ниже (заимствован из сетевой статьи) -
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-
1.3.2.min.js"></script>
<script type="text/javascript">
$(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>Tasks</listName> \
<viewFields> \
<ViewFields> \
<FieldRef Name='Status' /> \
</ViewFields> \
</viewFields> \
</GetListItems> \
</soapenv:Body> \
</soapenv:Envelope>";
$.ajax({
url: "_vti_bin/lists.asmx",
type: "POST",
dataType: "xml",
data: soapEnv,
complete: processResult,
contentType: "text/xml; charset=\"utf-8\""
});
});
function processResult(xData, status) {
$(xData.responseXML).find("z\\:row").each(function() {
var liHtml = "<li>" + $(this).attr("ows_Title") + "</li>";
$("#tasksUL").append(liHtml);
});
}
</script>
<ul id="tasksUL"/>
Проблема 1. Внутри вызова конверта SOAP я попытался изменить значение «FieldRef Name» на «Status», но обнаружил, что это ничего не делает (если вы сейчас спрашиваете себя, есть ли у меня опыт работы с JS, ответ почти нет) В методе processResult я пытался изменить атрибут с «ows_Title» на «ows_Status» или «Status», но безрезультатно. Я просто получаю "undefined" для каждого элемента списка.
Проблема 2 - я хочу, чтобы пользователь мог выбрать элемент списка и создать сводную информацию в формате PDF. Я знаю о библиотеке Marak's PDF.JS, но я не уверен, как их объединить (другими словами, я не уверен, как вызвать JS из каждого элемента списка или иметь отдельный список с именами элементов который вызывает JS).
Спасибо за вашу помощь.