Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过ajax从Java类获取JS函数的值_Javascript_Java_Ajax_Struts2 - Fatal编程技术网

Javascript 如何通过ajax从Java类获取JS函数的值

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',

Jsp页面

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一起工作,现在它如何工作。