无法使用 AJAX 将 json 数据发送到 Java servlet
Unable to send json data to Java servlet using AJAX
我正在尝试将数据表的 json 数据和用户输入的电子邮件传递到我的 java servlet。我收到状态 200 但没有数据响应。我的 AJAX 代码在这里:
$.ajax({
url: "/bin/abc/sendrohssearchresult",
type: "POST",
contentType: "application/json",
data:{
"email": email,
"emailSubject": emailSubject
},
success: function(status){
console.log("success",status);
},
error:function(error){
console.log("error",error);
},
})
还有我的 Java servlet:
@Component(service= Servlet.class,
property={
Constants.SERVICE_DESCRIPTION + "=Send Email of RoHS Search Results",
"sling.servlet.methods=" + HttpConstants.METHOD_POST,
"sling.servlet.paths="+ "/bin/abc/sendrohssearchresult"
})
public class RohsEmailServlet extends SlingAllMethodsServlet {
@Override
protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException {
String email = request.getParameter("email");
String emailSubject = request.getParameter("emailSubject");
}
}
我尝试了在 Whosebug 上找到的其他解决方案,例如对数据进行 JSONify,删除 dataType: json,并添加 contentType : application/x-www-form-urlencoded; charset=UTF-8; 但仍然是相同的结果。我正在使用 AEM。
如@rakhi4110 所述,我需要添加 response.getWriter()
才能接收数据响应。所以我补充说:
response.getWriter().write("Success Data");
我正在尝试将数据表的 json 数据和用户输入的电子邮件传递到我的 java servlet。我收到状态 200 但没有数据响应。我的 AJAX 代码在这里:
$.ajax({
url: "/bin/abc/sendrohssearchresult",
type: "POST",
contentType: "application/json",
data:{
"email": email,
"emailSubject": emailSubject
},
success: function(status){
console.log("success",status);
},
error:function(error){
console.log("error",error);
},
})
还有我的 Java servlet:
@Component(service= Servlet.class,
property={
Constants.SERVICE_DESCRIPTION + "=Send Email of RoHS Search Results",
"sling.servlet.methods=" + HttpConstants.METHOD_POST,
"sling.servlet.paths="+ "/bin/abc/sendrohssearchresult"
})
public class RohsEmailServlet extends SlingAllMethodsServlet {
@Override
protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException {
String email = request.getParameter("email");
String emailSubject = request.getParameter("emailSubject");
}
}
我尝试了在 Whosebug 上找到的其他解决方案,例如对数据进行 JSONify,删除 dataType: json,并添加 contentType : application/x-www-form-urlencoded; charset=UTF-8; 但仍然是相同的结果。我正在使用 AEM。
如@rakhi4110 所述,我需要添加 response.getWriter()
才能接收数据响应。所以我补充说:
response.getWriter().write("Success Data");