Javascript 对数据库的简单ajax调用,以验证电子邮件php codeigniter
在对电子邮件文本框进行模糊处理时,我希望它执行ajax回调,并验证电子邮件是否已经在使用中 调用正在查找webmethod,但是,它返回了null值。我修剪了代码,得到一个空值,如下所示:Javascript 对数据库的简单ajax调用,以验证电子邮件php codeigniter,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,在对电子邮件文本框进行模糊处理时,我希望它执行ajax回调,并验证电子邮件是否已经在使用中 调用正在查找webmethod,但是,它返回了null值。我修剪了代码,得到一个空值,如下所示: function chkEmail(email) { var prom = $.Deferred(); console.log(email); $('#emailCheckGIF').show(); $('input[type="submit"]').prop('disabl
function chkEmail(email) {
var prom = $.Deferred();
console.log(email);
$('#emailCheckGIF').show();
$('input[type="submit"]').prop('disabled', true);
$.ajax({
url: 'emailAvailable',
data: { 'email': email },
success: function (data) {
console.log(data + ' good');
prom.resolve(data);
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(errorThrown + ' error');
prom.reject(errorThrown);
}
});
return prom;
}
我的简化web方法
public function emailAvailable($email = null) {
echo json_encode($email);
}
在firefox开发工具中,它表示电子邮件参数传递正确,服务的响应为空
如果我删除了json\u encode
,它将显示为一个空白字符串。请尝试此操作--
我的控制器--
我的模型--
我的看法--
我的剧本--
$(文档).ready(函数(){
$('关联电子邮件').keyup(函数(){
var email=$('#assoc_email').val();
变量过滤器=/^([a-zA-Z0-9\.\-])+\@([a-zA-Z0-9\-])+\)+([a-zA-Z0-9]{2,4})+$/;
//我的ajax函数将在输入有效电子邮件后调用
if(email==“”| |!filter.test(email))
{
$('#line2').html(“”);
$('submit#assoc').attr('disabled',false);
}
if(filter.test(email)&&email!=“”)
{
$.ajax({
url:“联盟/检查电子邮件”,
类型:“post”,
数据:“email=”+email,
成功:功能(数据){
var result=JSON.parse(数据);
如果(结果==“”)
{
$('#line2').html(“”);
$('#line2').css('color','green');
}
其他的
{
$('#line2').html(“”);
$('#line2').css('color','#f3565d');
}
}
});
}
});
});
public function checkEmail()
{
$email = $_POST['email'];
$result = $this->federation_model->checkEmail($email);
echo json_encode($result);
}
public function checkEmail($email)
{
$this->db->where('user_email', $email);
$result=$this->db->get('users')->row_array();
if(is_array($result))
{
return $result;
}
else
{
return false;
}
}
<div class="col-md-4">
<input name="assoc_email" id="assoc_email" type="email" class="form-control"/>
<span id="line2" class="text-left"></span>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('#assoc_email').keyup(function(){
var email = $('#assoc_email').val();
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
// my ajax function will call after enter the valid email
if(email == "" || !filter.test(email))
{
$('#line2').html("");
$('#submit_assoc').attr('disabled', false);
}
if(filter.test(email) && email != "")
{
$.ajax({
url:"<?php echo base_url(); ?>federation/checkEmail",
type:"post",
data:"email="+email,
success: function(data){
var result = JSON.parse(data);
if(result == "")
{
$('#line2').html("<?php echo $this->lang->line('email'); ?> <?php echo $this->lang->line('available'); ?> ");
$('#line2').css('color', 'green');
}
else
{
$('#line2').html("<?php echo $this->lang->line('email'); ?> <?php echo $this->lang->line('already'); ?> <?php echo $this->lang->line('exists'); ?>");
$('#line2').css('color', '#f3565d');
}
}
});
}
});
});
</script>