0

Я пытаюсь получить все элементы списка из списка Sharepoint с помощью WebServices в Windows 7 гаджет, но я действительно не знаю, как я могу это сделать,Получение данных списка с помощью Javascript в Vista Gadget

я нахожу этот код в Google без каких-либо объяснений, поэтому я не знаю, как я получу данные списка, используя этот код, а затем покажу в гаджет Windows.

Может ли кто-нибудь вести меня в правильном направлении, пожалуйста?

Gadget.xml является

<?xml version="1.0" encoding="utf-8" ?> 
<gadget> 
    <name>HelloGadget</name> 
    <version>1.0.0.0</version> 
    <description>Hello World Gadget.</description> 
    <hosts> 
    <host name="sidebar"> 
     <base type="HTML" apiVersion="1.0.0" src="first.html" /> 
     <permissions>Full</permissions> 
     <platform minPlatformVersion="1.0" /> 
    </host> 
    </hosts> 
</gadget> 

first.html является

<html> 
<script> 
//----------------- resizes the gadget display surface 
function DoInit() { 
    document.body.style.width = 90; 
    document.body.style.height= 55; 
    document.body.style.margin=0; 
} 

    $(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>ListName</listName> 
        <viewFields> 
         <ViewFields> 
          <FieldRef Name='Title' /> 
         </ViewFields> 
        </viewFields> 
       </GetListItems> 
      </soapenv:Body> 
     </soapenv:Envelope>"; 

    $.ajax({ 
     url: "http://my_site/_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() { 
     alert($(this).attr("ows_Title")); 
    }); 
} 

</script> 
<body onload="DoInit();"> 
<table border="5"><tr><td><center><i>Hello World!</i></center></td></tr></table> 
<div id = "clickit"> <button type="button" onclick="" >Click Me!</button> </div> 
</body> 
</html> 

Приветствия

+0

возможно дубликат [Получение данных из SOAP-конверт] (HTTP: //stackoverflow.com/questions/10636101/getting-data-from-a-soap-envelop) –

+0

Посмотрите на мой ответ здесь: http://stackoverflow.com/a/10637752/261560 –

ответ

0

Мы все знакомы с SQL. Существует новая библиотека jQuery под названием SPSQL. Это действительно здорово, потому что вы можете запросить SharePoint с помощью синтаксиса SQL. Просто добавьте соответствующие библиотеки, и вы уже в пути. См. Пример ниже и article здесь.

Чтобы получить элементы, просто сделайте следующее:

var result = SPSql.parseSQL('SELECT MyList.Field FROM MyList WHERE MyList.ID > 10 ORDER BY MyList.ID DESC'); 

Теперь можно обработать все строки результата:

for (var row = 0; row < result.length; row++) { 
    for (var column in result[row]) 
     alert(column + ": " + result[row][column]); 
} 
+0

Привет, Emmie, спасибо за ваш ответ , Но где я буду предоставлять URL или учетные данные пользователя в этом случае: S –

+0

Он использует SPServices для автоматического получения списка на основе вашего сайта. –

+0

Он использует SPServices для автоматического получения списка на основе вашего сайта. Будет ли этот код находиться на сайте SharePoint? Если нет, вам нужно будет изменить javascript с этим проектом, чтобы получить элементы списка из определенного URL-адреса. Я считаю, что по умолчанию SPServices запускаются под текущими учетными данными сайта SharePoint. http://spservices.codeplex.com/ –