我需要针对电子邮件验证服务验证电子邮件。
问题是我无法控制服务php。 该服务返回"有效"和"无效"响应。
据我所知,jQuery验证要求是真还是假。
远程网址为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");
}
}
}
答案 0 :(得分:0)
根据remote
方法的文档选项深度扩展默认值(dataType:"json", data:{nameOfTheElement:valueOfTheElement})
。您提供的任何选项都将覆盖默认值。
最重要
通过jQuery.ajax(XMLHttpRequest)调用serverside资源 获取与已验证的名称对应的键/值对 元素及其作为GET参数的值。
所以您不必使用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>