Un exemple de requête CAML en Javascript :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| function getProject() {
var clientContext = new SP.ClientContext("/sites/xxxxx/xxxx"); // Relative URL
var targetList = clientContext.get_web().get_lists().getByTitle('InternalProject'); // Focus on List InternalProject
var query = new SP.CamlQuery();
query.set_viewXml("<View><Query></Query></View>"); // Request all Elements
listItems = targetList.getItems(query); // Execute the query
clientContext.load(listItems);
clientContext.executeQueryAsync(Function.createDelegate(this, this.Success), Function.createDelegate(this, this.Fail));
}
function Success() {
var listEnumeratorgetProject = listItems.getEnumerator(); // Create the cursor
var myArray = new Object();
while (listEnumerator.moveNext()) { // For all elements
// Here you can modify your data and transfer it in myArray
}
}
function Fail(sender, args) {
alert("Request fail");
}
// © NJU for Sanofi. |
Si tu souhaites ajouter une variable dans ta requête, je te conseille de rajouter des quotes, du genre :
query.set_viewXml("<View><Query><Where><Eq><FieldRef Name='EMAIL'/><Value Type='Text'>"+SP.User.get_email()+"</Value></Eq></Where></Query></View>");
Et si ça ne passe pas, je suis quasiment sûr que tu peux passer par une variable temporaire. By the way, attention aux majuscules/minuscules. Par ailleurs, tu peux toujours récupérer l'entièreté de la liste et trier après, même si c'est moins propre.
Source :
Get user mail
How to: Retrieve List Items Using JavaScript
My brain.
Partager