Я занимаюсь разработкой приложения codeigniter.Моя проблема заключается в том, что когда я задаю идентификатор электронной почты при вводе электронной почты в формате html5, он не может быть доступен с помощью функции jquery val()
, но когда я даю любое другое значение, кроме формата идентификатора электронной почты, к нему можно получить доступ.
Это мой HTML,
<html>
<head>
<title>
Personal Cash Book
</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<link rel="stylesheet" href="<?php echo base_url();?>assets/CSS/login.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<div class="bg login">
<div class="container">
<div class="row">
<div class="col-md-9 col-md-push-3">
<div class="page-header">
<h3>
<b>
Personal Cash Book
</b>
</h3>
</div>
<form>
<div class="form-group">
<label class="form-label" for="username">
USERNAME
</label>
<input type="email" id="username" name="email" class="form-control" required >
</div>
<div class="form-group">
<button type="button" id="sub" class="btn btn-danger">
Submit
</button>
</div>
</form>
<h3>
<?php echo $this->session->flashdata('message');?>
</h3>
</div>
</div>
</div>
</div>
<div class="container footer-section">
<div class="row">
<div class="col-md-12">
<footer >
All rights reserved.Created By <a href="http://www.christalinfotech.com" class="author" target="_blank"> Bibin Paul.P</a> Licenced to Sido Antony
</footer>
</div>
</div>
</div>
<script>
$(document).ready(function()
{
$(document).on('click','#sub',function()
{
var email=$('#username').val();
$.post('<?php echo base_url();?>master/reset-password/'+email+'/',function(data)
{
alert(data);
}
);
})
})
</script>
</body>
</html>
Это мой контроллер,
<?php
class Master extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->library('encryption');
}
public function index()
{
$this->load->view('login');
}
public function login()
{
$this->form_validation->set_rules('email','USERNAME','xss_clean|required|valid_email');
$this->form_validation->set_rules('password','PASSWORD','xss_clean|required');
$this->form_validation->set_error_delimiters('','');
if($this->form_validation->run()===FALSE)
{
if(form_error('email'))
{
$this->session->set_flashdata('message',form_error('email'));
}
else
{
$this->session->set_flashdata('message',form_error('password'));
}
$this->load->view('login');
}
else
{
$email=$this->input->post('email');
$password=$this->input->post('password');
$data=$this->common->login($email,$password);
if($data)
{
$this->session->set_userdata('user_data',$data);
redirect('/dashboard');
}
else
{
$this->session->set_flashdata('message','Incorrect credentials');
redirect('/');
}
}
}
public function logout()
{
$this->session->unset_userdata('user_data');
$this->session->set_flashdata('message','You are logged out successfully');
redirect('/');
}
public function forget_password()
{
$this->load->view('forget_password');
}
public function reset_password($email)
{
echo "password reset".$email;
}
,
?>
Цель - я хочу проверить, существует ли имя пользователя или нет. Я использовал скрипт jquery для реализации его в качестве функции ajax.не поддерживается в codeigniter , когда включена защита csrf.Я использую поле ввода электронной почты html5 для ввода имени пользователя, его идентификатор - имя пользователя.Я мог бы получить ответ со стороны сервера, когда я предоставляю значение, отличное от идентификатора электронной почты, но когда я даю идентификатор электронной почты, ответа не получается.Это моя проблема