Querying from Javascript Use-API helper | Community
Skip to main content
Level 4
October 16, 2015

Querying from Javascript Use-API helper

  • October 16, 2015
  • 3 replies
  • 1888 views

I have a search component built in sightly that I want to use to query on a number of parameters associated to find news articles (which are simply cq:pages) in our content repository. I know how I would do this with the Java Use-API, but want to use the javascript api in this particular case (partly because I'm trying to learn how t he JS API works).

In a similar component built years ago, I used a jquery.ajax() call to /bin/querybuilder.json, however, I can't figure out how to include jquery successfully in my code (I can include the jquery dependency ok, but get an error when trying to call on the jQuery object). Additionally, I'm not sure if this is even the best thing to do--that perhaps some javascript implementation of the querybuilder is exposed through a generally available variable.

Any guidance is appreciated.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.

3 replies

Lokesh_Shivalingaiah
Level 10
October 16, 2015

Its always recommended to use OSGi for querying and you can call this servlet using jquery.

refer this https://helpx.adobe.com/experience-manager/using/querying-experience-manager-data-using1.html

Level 4
October 16, 2015
You cannot use JQuery inside JS Use API. That's server side javascript and you are very limited in what libraries you can use.
BenSt10Author
Level 4
October 16, 2015

Ok, that makes sense. I'm trying to find more documentation on the JS USE-Api, if anyone can point me in the right direction, I'd appreciate it.

Ben

Level 3
May 30, 2016

Hi All,

I am looking for a similar kind of functionality, but looks like Sightly JS Use APi only works on server side scripting. Even though I have included JQuery clientlibs, it still shows 'Reference error : '$' not defined'. Is there any way, we can make an ajax call in Sightly JS file?

Kindly note that this is for creating a JavaScript Object 'Data Layer' for holding meta data information about the website, which then will be tracked in Reports & Analytics.

I need to populate JSO(Data Layer) by making an ajax call to Sling Servlet for dynamically fetching user profile and other web site related information on page load.  I have been using JSP file for creating a JSO, but was thinking if we can leverage Javascript use api instead of using JSPs. Also, I am not sure if this is the right way to create a Data Layer in AEM 6.2. Please correct me if I am doing it in a wrong way.

Apperciate your help!

Thanks,

Jaya