How to get list from different site using Sharepiont framework like cross-domain library

%3CLINGO-SUB%20id%3D%22lingo-sub-36942%22%20slang%3D%22en-US%22%3EHow%20to%20get%20list%20from%20different%20site%20using%20Sharepiont%20framework%20like%20cross-domain%20library%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-36942%22%20slang%3D%22en-US%22%3E%3CP%3EI%20want%20to%20get%20the%20following%20cross-domain%20library%20functionality%20in%20Sharepoint%20framework%3A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%3E%3CSPAN%3Evar%3C%2FSPAN%3E%20executor%20%3D%20%3CSPAN%3Enew%3C%2FSPAN%3E%20SP.RequestExecutor(appweburl)%3B%0Aexecutor.executeAsync(%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20url%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20appweburl%20%2B%0A%20%20%20%20%20%20%20%20%20%20%20%20%3CSPAN%3E%22%2F_api%2FSP.AppContextSite(%40target)%2Fweb%2Flists%3F%40target%3D'%22%3C%2FSPAN%3E%20%2B%0A%20%20%20%20%20%20%20%20%20%20%20%20hostweburl%20%2B%20%3CSPAN%3E%22'%22%3C%2FSPAN%3E%2C%0A%20%20%20%20%20%20%20%20method%3A%20%3CSPAN%3E%22GET%22%3C%2FSPAN%3E%2C%0A%20%20%20%20%20%20%20%20success%3A%20successHandler%2C%0A%20%20%20%20%20%20%20%20error%3A%20errorHandler%0A%20%20%20%20%7D%0A)%3B%3C%2FPRE%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Flibrary%2Foffice%2Fjj164022.aspx%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Flibrary%2Foffice%2Fjj164022.aspx%3C%2FA%3E%3C%2FP%3E%3CP%3EPlease%20suggest!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-36948%22%20slang%3D%22en-US%22%3ERe%3A%20How%20to%20get%20list%20from%20different%20site%20using%20Sharepiont%20framework%20like%20cross-domain%20library%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-36948%22%20slang%3D%22en-US%22%3E%3CP%3EHi%20Waqar%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EIt%20is%20possible%20to%20use%20JSOM%20or%20SP.RequestExecutor%20in%20SPFx's%20web%20parts%20too%2C%20when%20corresponding%20.js%20files%20are%20loaded%20explicitly%2C%20e.g.%3A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%3Evar%20hostweburl%20%3D%20_spPageContextInfo.webAbsoluteUrl%3B%0A%E2%80%8B%0Avar%20scriptbase%20%3D%20hostweburl%20%2B%20'%2F_layouts%2F15%2F'%3B%0A%E2%80%8B%0A%24.getScript(scriptbase%20%2B%20'SP.Runtime.js'%2C%20function%20()%20%7B%0A%20%20%24.getScript(scriptbase%20%2B%20'SP.js'%2C%20function%20()%20%7B%20%0A%20%20%20%20%24.getScript(scriptbase%20%2B%20'SP.RequestExecutor.js'%2C%20execCrossDomainRequest)%3B%20%0A%20%20%20%7D)%3B%0A%7D)%3B%0A%E2%80%8B%0Afunction%20execCrossDomainRequest%20()%20%7B%0A%20%20%20%20var%20appweburl%20%3D%20'%5B..web%20absolute%20url..%5D'%3B%0A%20%20%20%20var%20executor%20%3D%20new%20SP.RequestExecutor(appweburl)%3B%0A%20%20%20%20executor.executeAsync(%7B%0A%20%20%20%20%20%20%20%20url%3A%20appweburl%20%2B%20'%2F_api%2Fweb%2Flists'%2C%0A%20%20%20%20%20%20%20%20method%3A%20'GET'%2C%0A%20%20%20%20%20%20%20%20headers%3A%20%7B%20%0A%20%20%20%20%20%20%20%20%20%20%22Accept%22%3A%20%22application%2Fjson%3B%20odata%3Dverbose%22%20%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20success%3A%20function(results)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20console.log(results.body)%3B%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20error%3A%20function(sender%2C%20args)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log('Error%3A%20'%20%2B%20args.get_message()%20%2B%20'%20'%20%2B%20args.get_stackTrace())%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D)%3B%0A%7D%3C%2FPRE%3E%3CP%3EP.S.%3C%2FP%3E%3CP%3EI%26nbsp%3Bcan't%20check%20it%20for%20sure%20at%20the%20moment%2C%20yet%20this%20should%20work.%3C%2FP%3E%3C%2FLINGO-BODY%3E
Highlighted
New Contributor

I want to get the following cross-domain library functionality in Sharepoint framework:

 

var executor = new SP.RequestExecutor(appweburl);
executor.executeAsync(
    {
        url:
            appweburl +
            "/_api/SP.AppContextSite(@target)/web/lists?@target='" +
            hostweburl + "'",
        method: "GET",
        success: successHandler,
        error: errorHandler
    }
);

https://msdn.microsoft.com/en-us/library/office/jj164022.aspx

Please suggest!

1 Reply
Highlighted

Hi Waqar,

 

It is possible to use JSOM or SP.RequestExecutor in SPFx's web parts too, when corresponding .js files are loaded explicitly, e.g.:

 

var hostweburl = _spPageContextInfo.webAbsoluteUrl;
​
var scriptbase = hostweburl + '/_layouts/15/';
​
$.getScript(scriptbase + 'SP.Runtime.js', function () {
  $.getScript(scriptbase + 'SP.js', function () { 
    $.getScript(scriptbase + 'SP.RequestExecutor.js', execCrossDomainRequest); 
   });
});
​
function execCrossDomainRequest () {
    var appweburl = '[..web absolute url..]';
    var executor = new SP.RequestExecutor(appweburl);
    executor.executeAsync({
        url: appweburl + '/_api/web/lists',
        method: 'GET',
        headers: { 
          "Accept": "application/json; odata=verbose" 
        },
        success: function(results) {
           console.log(results.body);
        },
        error: function(sender, args) {
            console.log('Error: ' + args.get_message() + ' ' + args.get_stackTrace());
        }
    });
}

P.S.

I can't check it for sure at the moment, yet this should work.