Javascript 立即更新textarea内的值,该值取自ajax发送到codeigniter后的会话

Javascript 立即更新textarea内的值,该值取自ajax发送到codeigniter后的会话,javascript,php,ajax,codeigniter-3,Javascript,Php,Ajax,Codeigniter 3,我想在会话更新后立即从会话中检索值,但由于某些原因,有时,我得到的值仍然是旧值,但在其他时间它会得到新值。也许我的代码中缺少了一些东西。代码如下: HTML 因此,我在中回显了临时消息会话中的值。正如我所说的,中的值有时会更改,有时不会更改,因此我必须再次插入相同的值,并重新加载页面数次(1、2、有时3次)。每次用户重新加载或更改其他页面,然后再次返回同一页面时,这些值都会发送到控制器 谢谢您的帮助。从控制器返回后,您必须更改ajax成功方法中textarea的值,否则您必须重新加载才能看到更新

我想在会话更新后立即从会话中检索值,但由于某些原因,有时,我得到的值仍然是旧值,但在其他时间它会得到新值。也许我的代码中缺少了一些东西。代码如下:

HTML

因此,我在
中回显了临时消息会话中的值。正如我所说的,
中的值有时会更改,有时不会更改,因此我必须再次插入相同的值,并重新加载页面数次(1、2、有时3次)。每次用户重新加载或更改其他页面,然后再次返回同一页面时,这些值都会发送到控制器


谢谢您的帮助。

从控制器返回后,您必须更改ajax成功方法中textarea的值,否则您必须重新加载才能看到更新的会话值,您的值是否也从另一端更新?@Kuldeepsing是的,会话中的值是UpdateEdit缓存问题。它是?
<?php

$temp_message = $this->session->userdata('temporary_message');

?>

<form action="<?php echo base_url($form_url)?>" method="post">
    <div class="box-body">
        <div class="form-group">
            <label for="receiver_number">Receiver:</label>
            <textarea class="form-control" id="receiver_number" name="receiver_number" rows="5"><?php if (isset($temp_message)) { echo $temp_message['num_temp']; }?></textarea>
            <span class="help-block"><?php echo form_error('receiver_number');?></span>
        </div>
        <div class="form-group <?php if(form_error('message-text') != NULL) { echo 'has-error'; }?>">
            <label for="message_text">Message Text</label><div class="pull-right"><span id="chars">0</span></div>
            <textarea class="form-control" name="message_text" id="message_text" rows="5"><?php if(isset($temp_message)) { echo $temp_message['message_temp']; }?></textarea>
            <span class="help-block"><?php echo form_error('message_text'); ?></span>
            <p id="message_temp" hidden><?php if(isset($temp_message)) { echo $temp_message['message_temp'];} ?></p>
        </div>
        <div class="box-footer">
            <button type="submit" name="submit" id="submit" value="Submit" class="btn btn-primary">Submit</button>
            <button type="submit" name="submit" value="Cancel" class="btn btn-warning">Cancel</button>
        </div>
</form> 
$(window).on('unload, load, beforeunload', function () {
        let tempNum= $('#receiver_number').val();
        let messageTemp = $('#message_text').val();
        $.ajax({
            type: "POST",
            url: "<?php echo base_url('save-textarea'); ?>",
            dataType: "JSON",
            data: { 
                receiver_number: tempNum, 
                message_text : messageTemp
            }
        });
    });
function save_textarea()
    {
        $data['num_temp'] = $_POST['receiver_number'];
        $data['message_temp'] = $_POST['message_text'];

        $message_session = $this->session->userdata('temporary_message');

        if (isset($message_session))
        {
            if (($message_session['num_temp'] != $data['num_temp']) || ($message_session['message_temp'] != $data['message_temp']))
            {
                $this->session->unset_userdata('temporary_message');
                $this->session->set_userdata('temporary_message', $data);
            }
        }
        else
        {
            $this->session->set_userdata('temporary_message', $data);
        }

        echo json_encode($data);
    }