jQuery远程验证针对电子邮件验证服务



我需要在电子邮件验证服务上验证电子邮件。

问题是我无法控制服务PHP。服务返回"有效"one_answers"无效"响应。

据我了解,jQuery validate要求对或错。

远程URL是http://i2srv.com/validate/

示例:http://i2srv.com/validate/?email = skyhawk133@gmail.com它必须以这种格式发送。

这是我尝试的。

remote: {      
    url: "http://i2srv.com/validate/",
    type: "post",
    complete: function(data) {
        if( data.responseText == "valid" ) {
            alert("Email is OK");
        }
    }
}

根据 remote方法的文档选项,默认 (dataType:"json", data:{nameOfTheElement:valueOfTheElement})。您提供的任何选项都将覆盖默认值。

和最重要的

Serveride资源通过jquery.ajax(xmlhttprequest)和 获取与已验证的名称相对应的键/值对 元素及其作为获取参数的值。

因此,您不必使用post方法,只需将dataType更改为html

remote: {
      url: "https://i2srv.com/validate/",
      dataType: 'html',
      complete: function(data) {
        if (data.responseText == "valid") {
          alert("Email is OK");
        }
      }
    }

请参阅下面的演示

$(document).ready(function() {
  $("#signupform").validate({
    rules: {
      firstname: "required",
      lastname: "required",
      email: {
        required: true,
        email: true,
        remote: {
          url: "https://i2srv.com/validate/",
          dataType: 'html',
          complete: function(data) {
            if (data.responseText == "valid") {
              alert("Email is OK");
            }
          }
        }
      }
    },
    messages: {
      firstname: "please enter firstname",
      lastname: "please enter firstname",
    }
  });
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.js"></script>
<div id="signupwrap">
  <form id="signupform" autocomplete="off" method="get" action="">
    <table>
      <tr>
        <td class="label">
          <label id="lfirstname" for="firstname">First Name</label>
        </td>
        <td class="field">
          <input id="firstname" name="firstname" type="text" value="" maxlength="100">
        </td>
        <td class="status"></td>
      </tr>
      <tr>
        <td class="label">
          <label id="llastname" for="lastname">Last Name</label>
        </td>
        <td class="field">
          <input id="lastname" name="lastname" type="text" value="" maxlength="100">
        </td>
        <td class="status"></td>
      </tr>
      <tr>
        <td class="label">
          <label id="lemail" for="email">Email Address</label>
        </td>
        <td class="field">
          <input id="email" name="email" type="text" value="" maxlength="150">
        </td>
        <td class="status"></td>
      </tr>
      <tr>
        <td class="label">
          <label id="lsignupsubmit" for="signupsubmit">Signup</label>
        </td>
        <td class="field" colspan="2">
          <input id="signupsubmit" name="signup" type="submit" value="Signup">
        </td>
      </tr>
    </table>
  </form>

最新更新