0
ログイン処理後にjqueryを使用して別のコントローラにリダイレクトしたい。 ではなく、ページは自分自身にリダイレクトされます。 iveはjqueryの3つの可能性を試しましたが、他のコントローラーにはリダイレクトできませんでした。他のコントローラにリダイレクトするためのjquery mvc
そうproccess:[ポスト]を形成する - ここでは、ダッシュボードのページへ
https://file.town/download/e2dhyf2yyabpn6kuh79q3dyloをリダイレクト>> controller->バックjquery-にuはそれを試してみたい場合は、ソースコードです。ここで
ここview.php
<?php include('Header.php'); ?>
<div class="container">
<div class="row">
..........
<?php echo form_open('Login/check_login')?>
<div class="card">
<div class="card-content">
<div class="row">
<div class="input-field col s6 m12">
<i class="material-icons prefix">account_circle</i>
<input id="nim" type="text" class="validate" name="nim">
<label for="nim">NIM</label>
</div>
<div class="input-field col s6 m12">
<i class="material-icons prefix">visibility_off</i>
<input id="password" type="password" class="validate" name="password">
<label for="password">Password</label>
</div>
<div class="col s6 m12">
<button type="submit" value="login" class="waves-effect waves-light btn #1976d2 blue darken-2 submit1">LOGIN</button>
<button type="reset" value="cancel" class="waves-effect waves-light btn #1976d2 blue darken-2">CANCEL</button>
</div>
</div>
</div>
</div>
<?php echo form_close()?>
.......
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".submit1").click(function(event) {
event.preventDefault();
var nim = $("#nim").val();
var password = $("#password").val();
jQuery.ajax({
type: "POST",
url: "<?php echo base_url(); ?>"+"Login/check_login",
dataType: 'json',
data: {nim:nim, password:password},
success: function(res) {
if(res.hasil == 'a'){
swal({
title: "Login sukses",
text: "Horeee",
showConfirmButton: true,
confirmButtonColor: '#0760ef',
type:"success"});
window.location.href = "<?php echo site_url('User');?>";
}else if(res.hasil == 'u'){
swal({
title: "Login sukses",
text: "Horeee",
showConfirmButton: true,
confirmButtonColor: '#0760ef',
type:"success"});
window.location.href = "<?php echo site_url('User');?>";
}else{
swal({
title: "Login Gagal",
text: "Pastikan NIM dan Password Benar",
showConfirmButton: true,
confirmButtonColor: '#0760ef',
type:"error"});
}
}
});
});
});
コントローラ
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class login extends CI_Controller {
public function __construct()
{
parent::__construct();
// Load form helper library
$this->load->helper('form');
// Load form validation library
$this->load->library('form_validation');
// Load session library
$this->load->library('session');
// Load database model
$this->load->model('Mlogin');
}
public function index()
{
$this->load->view('login/Vlogin');
}
public function check_login()
{
$this->form_validation->set_rules('nim', 'NIM', 'required');
$this->form_validation->set_rules('password', 'Password', 'required');
if($this->form_validation->run() == FALSE){
$this->load->view('login/Vlogin');
}
else{
$akun = array(
'nim' => $this->input->post('nim'),
'password' => md5($this->input->post('password'))
);
$result = $this->Mlogin->check_akun($akun);
if($result != false){
$result = $this->Mlogin->get_information($akun);
$session_data = array(
'nim' => $akun['nim'],
'nama' => $result[0]->nama,
'gambar'=> $result[0]->name,
'akses' => $result[0]->akses,
'status' => $result[0]->status,
'loggedin' => true,
);
$this->session->set_userdata('logged_in', $session_data);
if ($result[0]->akses=='a') {
$hasil['hasil'] = 'a';
echo json_encode($hasil);
}
else{
$hasil['hasil'] = 'u';
echo json_encode($hasil);
}
}
else
{
$hasil['hasil'] = 'false';
echo json_encode($hasil);
}
}
}
それとも任意の代替が存在であります?
あなたのボタンは実際に送信ボタンか標準ボタンですか。あなたのフォームはまだ提出されていると思います。レンダリングされたフォームhtmlを含めていないので、少し難しいです。多分、$( "form")を試してみてください。 – Steve
iveフォームのコードをビューに追加します。どのタイプのボタンを使用しているのか分かりません。 –
ボタンをクリックする代わりにsubmitイベントを使ってみてください。 – charlietfl