Javascript 如何通过ajax从Java类获取JS函数的值
Jsp页面Javascript 如何通过ajax从Java类获取JS函数的值,javascript,java,ajax,struts2,Javascript,Java,Ajax,Struts2,Jsp页面 function emailValidate() { var email = document.getElementById("email").value; var url = "emailValidate.action?email=" + email; $.ajax({ type : 'POST', url : url, dataType : 'json',
function emailValidate() {
var email = document.getElementById("email").value;
var url = "emailValidate.action?email=" + email;
$.ajax({
type : 'POST',
url : url,
dataType : 'json',
async : false,
success : function(data) {
console.log(data);
alert($('#ajaxResponse').text(jsonResponse.isUserAllow));
if (....) {
alret("This Email-Id is alreay registered.");
} else {
document.getElementById("submit").disabled = true;
}
},
failure : function(data) {
alert('Server side failure with status code '
+ response.status);
}
})
Java类:
public String execute() {
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
email = request.getParameter("email");
int isUserAllow = 0;
try {
EmailValidationDaoImp evl = new EmailValidationDaoImp();
isUserAllow = evl.emailValidation(email);
response.setContentType("text/html");
response.setHeader("Cache-Control", "no-cache");
response.getWriter() .write("isUserAllow:"+isUserAllow);
}
catch (Exception e) {
logger.error("Exception in RegAction.java : " + e);
}
return "success";
}
response.setContentType("text/html");
response.setHeader("Cache-Control", "no-cache");
response.getWriter() .write("isUserAllow:"+isUserAllow);
我不得不使用Struts2。
我想将isUserAllow的值发送回JS函数,以便将其置于if条件下。在java文件中:而不是这个,
public String execute() {
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
email = request.getParameter("email");
int isUserAllow = 0;
try {
EmailValidationDaoImp evl = new EmailValidationDaoImp();
isUserAllow = evl.emailValidation(email);
response.setContentType("text/html");
response.setHeader("Cache-Control", "no-cache");
response.getWriter() .write("isUserAllow:"+isUserAllow);
}
catch (Exception e) {
logger.error("Exception in RegAction.java : " + e);
}
return "success";
}
response.setContentType("text/html");
response.setHeader("Cache-Control", "no-cache");
response.getWriter() .write("isUserAllow:"+isUserAllow);
您可以使用以下代码
PrintWriter out = response.getWriter();
out.print(isUserAllow);
并删除返回类型(“成功”)
在您的js
文件中,您可以按如下所示进行修改:
success : function(data) {
console.log(data);
if (data == 0) {
alert("This Email-Id is alreay registered.");
} else {
document.getElementById("submit").disabled = true;
}
},
永远,永远,永远,永远,永远,永远,永远。。。永远,永远,永远不要使用
async:false
aa,它是警报
非alret
,和错误
非故障
,而且您似乎没有任何名为jsonResponse
或甚至response
,它的名称都是data
也使用data.isUserAllow
作为特定字段,正如您所说,我已经提高了一倍。只是不要这样做。@Poori它不起作用。但无论我如何解决它,它如何与struts2一起工作,现在它如何工作。