In a content page I have kept resourcetype as servletResourceType and firing ajax from browser's console the ajax was wroking fine
import javax.servlet.Servlet;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
import org.apache.sling.api.servlets.SlingSafeMethodsServlet;
import org.json.JSONObject;
import org.osgi.service.component.annotations.Component;
@8220494(name = "Resource Type ajax servlet", immediate = true, service = Servlet.class, property = {
"sling.servlet.resourceTypes=weretail/components/content", "sling.servlet.methods=GET" })
public class ResourceTypeAjaxDemoServlet extends SlingSafeMethodsServlet{
privatestaticfinallongserialVersionUID = 1L;
@9944223
protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response)
{
try {
String district = request.getParameter("dist").toString();
response.setContentType("application/json");
JSONObject jsonObject = new JSONObject();
jsonObject.put("Name", "Umesh Chandra Thakur");
jsonObject.put("Phone", "12334556");
jsonObject.put("email", "umesh@gmail.com");
jsonObject.put("City", "Khutauna");
jsonObject.put("dist", district);
response.getWriter().write(jsonObject.toString());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/*
$.ajax({
type : "GET",
url : 'we-retail/language-masters/en_us/quick-links-test-page/jcr:content',
data : {
dist : 'Madhubani'
},
success : function(data, textStatus, jqXHR) {
alert("successd",data);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
//write your logic that you need to perform on error
}
});
*/
Note siince jquery is not supported by browsers automatically so before running the ajax use below code in browser console to make jquery available for the browsers
(function(){
var newscript = document.createElement('script');
newscript.type = 'text/javascript';
newscript.async = true;
newscript.src='https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js';
(document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild(newscript);
})();
hope this will help
Umesh Thakur