Http POST not getting call | Community
Skip to main content
Level 2
Mar 15, 2017 6:32 AM UTC
Solved

Http POST not getting call

I have written sling servlet for POST and I called through ajax and Chrome Rest Client , but it giving the 403 forbidden error, and i went through some search and find solution that need to remove the POST method from "Apache Sling Referrer Filter" and "CSRF Filter" in configuration Manager. I did same thing and it worked.

But same code is working for my friend without removing POST in configMgr,

Can you please answer what exactly issue with http POST in AEM ?

Both are using AEM 6.2

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
smacdonald2008
smacdonald2008Accepted solution
Level 10
Mar 15, 2017 10:41 AM UTC

To successfully post to an AEM servlet using AJAX - you need to use the AEM version of JQuery. This has a token that lets you perform a POST operation.

See:

https://helpx.adobe.com/experience-manager/using/custom-sling-servlets.html

in this article - notice we use:

 <cq:includeClientLib categories="cq.jquery" />

11 replies

kautuk_sahni
Employee
Sep 25, 2017 9:12 AM UTC
Level 4
Sep 25, 2017 6:15 AM UTC

Hi All, Any pointers to this?.Or is it that AEM by design doesn't support POST operation.

Regards,

Anand MN

Translate
Level 4
Sep 18, 2017 5:40 AM UTC

I am looking for a recommended approach on prod publisher. I am aware of this testing approach in author.

Thanks,

Anand MN

Translate
viveksachdeva
New Participant
Sep 18, 2017 3:55 AM UTC

You are checking this on author, right? You are right that not recommended on prod.. It can be used for checking things on local/staging

Setting Your Referrer Filter to Allow Empty

Translate
Level 4
Sep 14, 2017 12:53 PM UTC

But , is that recommended approach for a production env?.

Translate
viveksachdeva
New Participant
Sep 14, 2017 11:56 AM UTC

I think you'll need to change Sling Referrer Settings to allow request from 3rd party app..

Translate
Level 4
Sep 14, 2017 7:01 AM UTC

Why I dont want cq.Jquery is because the request will not be coming from my site. It could be a 3rd party web app.

Thanks,

Anand MN

Translate
edubey
Level 10
Sep 14, 2017 6:50 AM UTC

Hi,

The reason cq.Jquery is recommended way because it gets the CSRF-Token from AEM which you need to pass in POST request.

If you still do not want to use cq.jquery refer this Send a CSRF Token to an AEM 6.1 Servlet without using jQuery or granite.csrf.standalone clientlib Experience Managed

Thanks

Translate
Level 4
Sep 14, 2017 6:35 AM UTC

Hello Scott. Is using cq.Jquery the only recommended approach for doing POST call in AEM.  I have a requirement to write a sling servlet which supports POST request. I am looking for an alternative to using cq.Jquery to invoke the servlet.

Thanks,

Anand MN

Translate
Level 2
Mar 15, 2017 11:37 AM UTC

Thanks Scott, It's working with AEM version of JQuery.

Regards,

Shishira

Translate