私は自分の仕事にAJAXを組み込もうとしています。ログインボタンが押されたらユーザーをログインさせたい。以下は関連するコードです。 ビューは私のコントローラのログイン機能を呼び出しています。ログインAJAXとcodeigniter
ビュー
<form id="loginform" class="navbar-form navbar-right" action="https://siteurl/CI/index.php/postedLinks/login" method="post" role="search">
<div class="form-group">
<input type="text" name="username" class="form-control" placeholder="Username">
<input type="password" name="password" class="form-control" placeholder="Password">
</div>
<button type="submit" class="btn btn-default">Login</button>
</form>
コントローラ
public function login(){
$this->form_validation->set_rules('username','Username', 'trim|required');
$this->form_validation->set_rules('password','Password', 'trim|required|callback_check_login');
if ($this->form_validation->run()==false) {
$data['links'] = $this->links_model->get_links();
$this->load->view('postedLinks', $data);
}else{
redirect(site_url('postedLinks'), 'refresh');
}}
public function check_login($password){
$username = $this->input->post('username');
$result = $this->links_model->login($username,$password);
if ($result) {
$sess_array = array();
foreach ($result as $row) {
$sess_array = $arrayName = array('id' => $row->id, 'username' => $row->username);
$this->session->set_userdata('logged_in', $sess_array);
}
return true;
} else{
$this->form_validation->set_message('check_login', 'Invalid Username or Password');
return false;
}
}
私はそれが動作することはありませんしようとすると、しかし、それにAJAXを追加する必要があるしかしそれは完璧に動作します。どんな助けもありがとうございます。以下は、私が私の見解に入れようとしてきたものです。
$(document).ready(function() {
// process the form
$('#loginform').submit(function(event) {
// get the form data
// there are many ways to get this data using jQuery (you can use the class or id also)
// process the form
$.ajax({
url : "https://siteurl/CI/index.php/postedLinks/login"
type : "POST",
dataType : "json",
data : {"username" : username, "password" : password},
success : function(data) {
// do something
},
error : function(data) {
// do something
}
});
// stop the form from submitting the normal way and refreshing the page
event.preventDefault();
});
送信ボタンをクリックしたときにあなたのユーザーに関するデータを挿入したいのですか? –
通常のPOST要求とその後のページ変更ではなく、ログインフォームがAJAX経由で実行されるようにしたいと考えていました。 ??? – Juned
私はリンクを編集しました。また、私がやりたいことはあります。 – ZeeSoft