一尘不染

如何检查唯一用户?

ajax

我正在使用任何具有email_id唯一性的应用程序,每当最终用户输入他的应用程序时,我都会email_id通过Ajax发出SQL查询,以检查是否email id存在该查询。在此之前,它工作正常,但现在我知道那是什么时候email_is存在,那么我想在JSP页面上显示该ID已被使用,反之亦然。

所以我的问题是如何从struts应用程序获取响应并将其提供给Ajax或JSP页面,以及在“ struts.xml”结果标签中写入什么?

这是我的Ajax呼叫EmailCheck.action

$("#email").blur(function() {
      var EmailV = $("#email").val();
        if(EmailV.length > 10){
            $('#Loading').show();
            $.get("EmailCheck.action", {
                Email_Id: EmailV   
            }, function(response){
                $('#Info').fadeOut();
                $('#Loading').hide();
                setTimeout("finishAjax('Info', '"+escape(response)+"')", 450);
            });
            return false;
        }
    });

这是我struts.xml该电子邮件类型检查器的结果标签吗?

 <action name="EmailCheck"  class="org.register.customers.EmailCheckAction" method="EmailCheck">
          <result name="input">index.jsp</result>
          <result name="success">success.jsp</result>
          <result name="error">error.jsp</result>
  </action>

这是我的动作代码:

 public String EmailCheck() throws Exception{

     System.out.println(user.getEmail_Id());

       boolean create = Check_Email(user);

 //  "this is my sql call to check the existence of email"

    if (true) {

        return "input";
    } else {

        return ERROR;
    }        
}

阅读 224

收藏
2020-07-26

共1个答案

一尘不染

如果调用Ajax操作,则可以返回dispatcher结果。在这种情况下,渲染的JSP片段将作为响应输出。此外,你必须选择返回一个streamjsonnone结果。对于您的情况,我将考虑第一种选择。首先查看答案,以使您熟悉如何返回stream具有text/html内容类型的结果。然后,在JSP中,您应该创建一个目标div,并将响应放在该目标div中。

<div id="result"/>

现在修改您的JS以将结果插入div。

}, function(response){
  $("result").html(response);
2020-07-26