gpt4 book ai didi

javascript - 简单的ajax调用数据库来验证电子邮件php codeigniter

转载 作者:行者123 更新时间:2023-11-27 23:56:36 27 4
gpt4 key购买 nike

在电子邮件文本框模糊时,我希望它执行 ajax 回调并验证电子邮件是否已在使用中。

该调用正在查找 webmethod,但是它返回一个 null 值。我 trim 了代码,并得到了一个空值,如下所示:

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;
}

我的简化网络方法

    public function emailAvailable($email = null) {


echo json_encode($email);
}

在 Firefox 开发工具中,它表示电子邮件参数已正确传递,并且服务的响应为 NULL

如果我删除 json_encode 它会显示为空白字符串。

最佳答案

请尝试这个--

我的 Controller --

  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>

关于javascript - 简单的ajax调用数据库来验证电子邮件php codeigniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32209272/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com