Ich versuche AJAX in meine Arbeit zu integrieren. Ich möchte, dass der Benutzer angemeldet wird, sobald der Login-Button gedrückt wurde. Unten ist der relevante Code. Die Ansicht ruft die Login-Funktion in meinem Controller auf.Login AJAX und Codeigniter
Ansicht
<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>
-Controller
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;
}
}
Es perfekt funktioniert jedoch muss ich jedoch Ajax in es hinzuzufügen, wenn ich es nie funktioniert versuchen. Jede Hilfe wird geschätzt. Unten ist das, was ich versucht habe, in meiner Sicht zu platzieren.
$(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();
});
Sie möchten also Daten zu Ihrem Benutzer einfügen, wenn die Schaltfläche Absenden richtig geklickt wird? –
Ich habe es so verstanden, wie er möchte, dass das Login-Formular über AJAX statt einer normalen POST-Anfrage und einem nachfolgenden Seitenwechsel ausgeführt wird. ??? – Juned
Ich habe den Link bearbeitet, auch ja, das ist, was ich tun möchte – ZeeSoft