활동이 없어 이 대화는 잠겼습니다. 새 게시물을 작성해 주세요.
활동이 없어 이 대화는 잠겼습니다. 새 게시물을 작성해 주세요.
Hi All,
I have a contact form through which I'm submitting some data via ajax call to my servlet. i get a default page with content as follows on form submission:-
Status | 200 |
Message | OK |
Location | /fr/vous-avez-des-questions |
Parent Location | /fr |
Path | /fr/vous-avez-des-questions |
Referer | http://localhost:4502/content/sample/contactform.html |
ChangeLog | <pre>modified("/fr/vous-avez-des-questions/vous_etes");<br/>modified("/fr/vous-avez-des-questions/vous_etes_");<br/>modified("/fr/vous-avez-des-questions/choisissez_votre_profession_installateur");<br/>modified("/fr/vous-avez-des-questions/choisissez_votre_profession_prescripteur");<br/>modified("/fr/vous-avez-des-questions/choisissez_votre_profession_distributeur");<br/>modified("/fr/vous-avez-des-questions/nom");<br/>modified("/fr/vous-avez-des-questions/prenom");<br/>modified("/fr/vous-avez-des-questions/email");<br/>modified("/fr/vous-avez-des-questions/adresse");<br/>modified("/fr/vous-avez-des-questions/code_postal");<br/>modified("/fr/vous-avez-des-questions/ville");<br/>modified("/fr/vous-avez-des-questions/country");<br/>modified("/fr/vous-avez-des-questions/que_recherchez_vous_");<br/>modified("/fr/vous-avez-des-questions/type_de_produits");<br/>modified("/fr/vous-avez-des-questions/photos-produit");<br/>modified("/fr/vous-avez-des-questions/copie-de-facture");<br/>modified("/fr/vous-avez-des-questions/page_num");<br/>modified("/fr/vous-avez-des-questions/page_count");<br/>modified("/fr/vous-avez-des-questions/finished");<br/>modified("/fr/vous-avez-des-questions/form_build_id");<br/>modified("/fr/vous-avez-des-questions/form_id");<br/>modified("/fr/vous-avez-des-questions/captcha_sid");<br/>modified("/fr/vous-avez-des-questions/captcha_token");<br/>modified("/fr/vous-avez-des-questions/captcha_response");<br/>modified("/fr/vous-avez-des-questions/g-recaptcha-response");<br/>modified("/fr/vous-avez-des-questions/op");<br/></pre> |
Can someone let me know why this page is getting displayed?
Below is my servlet code
@Component(service = Servlet.class, property = { "sling.servlet.methods=POST",
"sling.servlet.paths=/bin/contactServlet" })
public class ContactServlet extends HttpServlet {
private static final long serialVersionUID = -6506682026701304964L;
Logger logger = LoggerFactory.getLogger(this.getClass());
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
VerifyRecaptcha recaptcha = new VerifyRecaptcha();
String gRecaptchaResponse = request.getParameter("g-recaptcha-response");
logger.info("Send post request gRecaptchaResponse: " + gRecaptchaResponse);
String formData = request.getParameter("form-data");
logger.info("formData response" + formData);
String flag = request.getParameter("flag");
logger.info("flag value" + flag);
if (flag.equalsIgnoreCase("contactus")) {
boolean verify = recaptcha.verify(gRecaptchaResponse);
logger.info("" + verify);
if(verify) {
//do something
}
}
}
조회 수
답글
좋아요 수
Hi,
Few thoughts
1]Better to resolve servlet by resource type than via path "sling.servlet.paths=/bin/contactServlet"
2] Also, may be in call back function in the js, from where the servlet call is made, may be based on status [i.e, error/success] you might want to display a custom message.
However, am not sure why is the default page coming up.
조회 수
답글
좋아요 수
$.ajax({
url : '/bin/contactServlet',
type : 'POST',
dataType : 'json',
ContentType : 'application/json',
data : {
'g-recaptcha-response' : key,
'form-data' : demo,
'flag' : 'contactus',
},
success : function(data) {
console.log(data);
//do something
}
});
this is my ajax call.
1) can you let me know how to resolve servlet via resource path?
2)Please let me know if my success code is correct
조회 수
답글
좋아요 수
There is something wrong how you were calling post servlet because with your request default sling post servlet is being invoked which trying to create/modifying content.
Apache Sling :: Manipulating Content - The SlingPostServlet (servlets.post)