Comments (3)
Hi,
I'll use jQuery Deferred as an example (because it's cross-browser). We can call 2 different lists and once they are done we can proceed with the results from both lists:
$.when(
(function() {
var deferred = jQuery.Deferred();
$SP().list("My List 1").get({fields:"Title"}, function(data) {
var res=[];
if (data.length === 0) deferred.reject("Nothing found for My List 1");
else {
for (var i=data.length; i--;) res.push(data[i].getAttribute("Title"))
deferred.resolve(res);
}
})
return deferred;
}()),
(function() {
var deferred = jQuery.Deferred();
$SP().list("My List 2").get({fields:"Title"}, function(data) {
var res=[];
if (data.length === 0) deferred.reject("Nothing found for My List 2");
else {
for (var i=data.length; i--;) res.push(data[i].getAttribute("Title"))
deferred.resolve(res);
}
})
return deferred;
}())
).done(function(list1, list2) {
console.log(list1, list2);
}).fail(function(err) {
alert("Error: " + err);
});
I hope it makes sense.
from sharepointplus.
Thanks for the reply. I think most of my issues stem from just a general jQuery understanding, but I do appreciate you taking the time to help me. This example doesn't quite do what I want. I want to call one Sharepoint list, then using that list's data, then make a second call to sharepoint for more info.
Does that make sense?
Thanks,
Stuart
from sharepointplus.
Sorry, I'm not sure to understand.... It's async, so you either use Promise:
$.when(
(function() {
var deferred = jQuery.Deferred();
$SP().list("First List").get({
fields:"Title",
groupby:"Title",
view: "Platform"
}, function getData(data) {
if (data.length===0) deferred.reject("No Data");
else {
var Platform = GetUnique(data); // --> Platform = ['ABC', 'DEF', 'GHI']
deferred.resolve(Platform);
}
});
return deferred;
}())
).done(function(Platform) {
// create a WHERE clause based on the result
var where = [];
for (var i=0; i<Platform.length; i++) where.push("Platform = '" + Platform[i] + "'")
// we suppose we have less than 15 items into the "where" array
where = where.join(" OR "); // --> where = "Platform = 'ABC' OR Platform = 'DEF' OR Platform = 'GHI'"
// call the second list using the data from the first one
$SP().list("Second List").get({fields:"ID", where:where}, function(data) {
// something else here
})
}).fail(function(err) {
alert("Error: " + err);
});
or you call the second list in the callback directly :
$SP().list("First List").get({
fields:"Title",
groupby:"Title",
view: "Platform"
}, function getData(data) {
// create a WHERE clause based on the result
var Platform = GetUnique(data); // --> Platform = ['ABC', 'DEF', 'GHI']
var where = [];
for (var i=0; i<Platform.length; i++) where.push("Platform = '" + Platform[i] + "'")
// we suppose we have less than 15 items into the "where" array
where = where.join(" OR "); // --> where = "Platform = 'ABC' OR Platform = 'DEF' OR Platform = 'GHI'"
// call the second list using the data from the first one
$SP().list("Second List").get({fields:"ID", where:where}, function(data) {
// something else here
})
});
from sharepointplus.
Related Issues (20)
- getWorkflowID does not work in NodeJS HOT 6
- stopWorkflow does not work inside NodeJS : ReferenceError: document is not defined HOT 16
- $SP().getUserInfo POST Status 500 error HOT 2
- .get() paging and rowlimit not working for SPO document library HOT 7
- need an example for add.options.packetsize HOT 6
- setReadOnly:Error HOT 3
- Observables with Sharepoint+ HOT 1
- Getting the count of rows from a list HOT 2
- Error from server-side node HOT 4
- addAttachment contextinfo 404 error HOT 19
- Get Column Type HOT 1
- Translate SharePoint column names HOT 2
- distribution list members HOT 2
- Unable to getContentTypeInfo HOT 3
- The site URL passed in the setup object is always ignored in the isMember(...) function HOT 6
- RequestError: Error: tunneling socket could not be established, cause=Client network socket disconnected before secure TLS connection was established HOT 1
- sp.lists gives `ReferenceError: window is not defined` HOT 2
- sharepointplus with sp-rest-proxy HOT 11
- incorrect hasREST function behavior for Sharepoint Online / 365 HOT 2
- joins HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sharepointplus.