Die Dokumentation here erklärt das JavaScript Object Model ziemlich gut.
Im Wesentlichen müssen Sie ein ClientContext
Objekt erstellen und verwenden, um anzugeben, welche Anweisungen Sie ausführen möchten. Sie geben ClientContext.load()
ein, um anzugeben, welche Objekte mit abgerufenen Informationen gefüllt werden sollen, und verwenden dann ClientContext.executeQueryAsync()
, um alle in der Warteschlange befindlichen Anweisungen auszuführen. Im Rahmen der Callback-Funktionen, die Sie an executeQueryAsync
übergeben, können Sie auf die Ergebnisse Ihrer Abfrage zugreifen.
Das folgende Beispiel zeigt den typischen Ansatz.
<script>
ExecuteOrDelayUntilScriptLoaded(getListItems,"sp.js");
function getListItems(){
var clientContext = new SP.ClientContext();
var list = clientContext.get_web().get_lists().getByTitle("List1");
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml(/* build a CAML query to retrieve your items */
"<View><Query>" +
"<Where>" +
"<And>" +
"<Eq><FieldRef Name=\"Status\"/><Value Type=\"Text\">1</Value></Eq>" +
"<Eq><FieldRef Name=\"Title\"/><Value Type=\"Text\">My given title</Value></Eq>" +
"</And>"+
"</Where>" +
"</Query></View>");
var items = list.getItems(camlQuery);
clientContext.load(items);
clientContext.executeQueryAsync(function(){
var itemArray = [];
var itemEnumerator = items.getEnumerator();
while(itemEnumerator.moveNext()){
/* loop through all your results */
var item = itemEnumerator.get_current();
var id = item.get_item("ID");
var title = item.get_item("Title");
itemArray.push(id + ": " + title);
}
alert("ID: Title\n"+itemArray.join("\n"));
},function(sender,args){alert(args.get_message());});
}
</script>