0
function logsig() {
var username = $("#username").val();
var password = $("#password").val();
var dataString = '&username=' + username + '&password=' + password;
if(username=='' || password=='') {
$('#success').fadeOut(400).hide();
$('#error').fadeOut(400).show();
} else {
$.ajax({
type: "POST",
dataType: "JSON",
url: "<?=base_url()?>index.php/home/logsig",
data: dataString,
json: {session_state: true},
success: function(data) {
if(data.session_state == true) {
window.location = "<?=base_url()?>";
} else if(data.session_state == false) {
$("#login_failure").fadeIn(400);
}
}
});
}
}
上記のフォームに複数のjsonエンコード値を渡すにはどうすればよいですか。私がやっていることは、ユーザーがログインし、 'session_state'が渡され、ユーザーが '保留中'のアカウントを持っている場合、 'pending'が渡されるということです。両方のjson値には実行される式があります。複数のjsonエンコードされた文字列を渡して操作する
public function logsig() {
header('Content-type:application/json');
$postedEmail = $this->input->post('username');
$password = $this->input->post('password');
$hashedPass = $this->encrypt->sha1($password);
$query = $this->db->query("SELECT * FROM users WHERE username = '{$postedEmail}' AND password = '{$password}'");
if ($query->num_rows() > 0) { // if user is already registered and is logging in, execute the following sql/php commands.
$row = $query->row();
if ($row->status == "pending") {
echo json_encode(array('pending' => true));
} else {
echo json_encode(array('pending' => false));
}
//$this->session->set_userdata('userid', $idgen);
//$this->session->set_userdata('email', $postedEmail);
$this->session->set_userdata('logged', "1"); // 1 means user is logged in.
echo json_encode(array('session_state' => true));
} else {
echo json_encode(array('session_state' => false)); // false sends to jquery that member isn't registered
}
}
オーケー涼しいです。どうすればjQuery側でそれを渡すことができますか? –
jQueryコードは変更されません。それでも 'data.session_state'と' data.pending'をチェックします。 – dfsq
私は、別のアヤックスコールやそのような性質のものを作るのですか? –