ドキュメントhereは、JavaScriptオブジェクトモデルを非常によく説明しています。
本来、ClientContext
オブジェクトを作成し、それを使用して実行する命令を指定する必要があります。 ClientContext.load()
を使用して、取り出される情報を取り込むオブジェクトを指定し、次にClientContext.executeQueryAsync()
を使用して、キューに入れられた命令を実行します。 executeQueryAsync
に提供するコールバック関数のコンテキスト内では、クエリの結果にアクセスできます。
以下の例は、典型的なアプローチを示しています。
<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>