无法获取localStorage中的值以更新数据库中的值

时间:2019-06-27 01:17:40

标签: javascript php sql ajax local-storage

我有td为contenteditable的表。为了更新数据库中td的值,我决定使用localStorage。单击保存按钮后,在td中输入的值将保存到localStorage中,而ajax将获取其值替换为我数据库中的一列。

我在Google Chrome浏览器中查看了该应用程序,以检查它是否已保存到localStorage中!

但是当页面重新加载时,td中的值不会更改和更新。我的代码中缺少什么?

$(document).ready(function() {
             $('#btnSaveFindings').click(function(){
                 var id = $(this).data('id');
                 var employeeName = document.getElementById('employeeName').value;
                 var edit = $('#date').html(); // get this field value
                 localStorage.setItem('date', edit);
                 var storeDate = localStorage.getItem('date');
                     $.ajax({
                         url: 'update_assesment.php',
                         type: 'post',
                         data: {
                             'id' :id,
                             'date': storeDate,
                             data: edit,
                             'employeeName' :employeeName   

                        },
                         //datatype: 'html',
                         success: function(){
                            alert(edit);
                         location.reload(); 
                        }
                     });
            });
        });

'date'是我的td之一,仅供参考。

update_assessment.php

 <?php
$id = $_REQUEST["id"];
$employeename = $_REQUEST["employeename"];
$storeDate =  $_REQUEST["date"];
$emp_name = $_REQUEST["emp_name"];
//$id_edit = $_REQUEST["id"]

try {
    $pdo = new PDO('mysql:host=localhost:3306;dbname=****;', '****', '****' );
    $pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
    $pdo->query( 'SET NAMES UTF8' );
    $stmt = $pdo->prepare(
        "UPDATE tbl_assessment
        SET
            `employeename` = :employeeName,
            `date` = :storeDate
        WHERE
            `id` = :id AND employeeName = '{$_SESSION['emp_name']}'
        "
    );
    $stmt->bindValue(':id',$id,PDO::PARAM_STR);
    $stmt->bindValue(':employeeName',$employeeName,PDO::PARAM_STR);
    //$stmt->bindValue(':teamCode',$teamCode,PDO::PARAM_STR);
    $stmt->bindValue(':storeDate',$storeDate,PDO::PARAM_STR);


    //$stmt->bindValue(':id',$id,PDO::PARAM_INT);
    $stmt->execute();

    header('location:./');
}catch ( PDOException $e ) {
    var_dump( $e->getMessage() );   
}

$pdo = null;

?>

我真的不知道它没有在localStorage中获得价值。 有帮助吗?

1 个答案:

答案 0 :(得分:0)

加载时,您没有将存储的值分配给td,请尝试将以下代码添加到$(document).ready(function() { /*add it here*/ });的第一位:

$('#date').html(localStorage.getItem('date') || '');