Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用AJAX时设置_flashdata codeigniter不工作_Php_Jquery_Codeigniter - Fatal编程技术网

Php 使用AJAX时设置_flashdata codeigniter不工作

Php 使用AJAX时设置_flashdata codeigniter不工作,php,jquery,codeigniter,Php,Jquery,Codeigniter,我想在使用AJAX提交时显示set_flasdata,但set_flashdata不会出现 这是我的控制器: public function updatePassword() { $idUser = $this->session->userdata('id_user'); $username = $this->session->userdata('username'); $data = array(); $data = $this->

我想在使用AJAX提交时显示set_flasdata,但set_flashdata不会出现

这是我的控制器:

public function updatePassword() {
    $idUser = $this->session->userdata('id_user');
    $username = $this->session->userdata('username');
    $data = array();
    $data = $this->user_model->getPassword($idUser, $username);

    $passwordLama = $this->input->post('password-lama');
    $passwordBaru = $this->input->post('password-baru');
    if ($passwordLama == $data['password']) {
        $dataPasswordBaru = array(
            'password' => $passwordBaru
        );
        $this->user_model->updatePassword($idUser, $username, $dataPasswordBaru);
        echo $this->session->set_flashdata('flashSuccess', 'Berhasil mengubah password');
    } else {
        echo $this->session->set_flashdata('flashError', 'Gagal mengubah password');
    }
}
这是我的看法:

        <?php if ($this->session->flashdata('flashSuccess')): ?>
            <div class="alert alert-success info-alert" id="result-edit-password2">
                <button type="button" class="close" id="close-edit-password2">&times;</button>
                <div id="result-edit-password-text2"><?php echo $this->session->flashdata('flashSuccess') ?></div>
            </div>
        <?php endif ?>

        <?php if ($this->session->flashdata('flashError')): ?>
            <div class="alert alert-error info-alert" id="result-edit-password2">
                <button type="button" class="close" id="close-edit-password2">&times;</button>
                <div id="result-edit-password-text2"><?php echo $this->session->flashdata('flashError') ?></div>
            </div>
        <?php endif ?>
这是我的AJAX:

    $("#form-edit-password").submit(function(e){
        e.preventDefault();
        $.ajax({
            type: 'POST',
            url: "<?php echo base_url('home/updatepassword'); ?>",                        
            data: $(this).serialize(),               
            success: function(html){
                $('.info-alert').show();                    
            }
        });
    });

是否存在无法显示set_flashdata的问题,请提供帮助。

flashdata仅在下次服务器请求时可用。。您正在使用ajax。。所以这不起作用。。。重新加载页面以查看msgoh,感谢您的信息:@BhuvanRikka:ajax请求是下一个请求,他应该获得value@user1878292:设置是什么意思?flashdata不显示?您只是在设置它