javascript - 无法将本地存储上传到数据库

标签 javascript php jquery mysql ajax

我有一些数据想要存储在数据库中以进行同步。这是我的 jQuery 代码:

$(document).ready(function() {

  var local_array = [];

  for ( var i = 0, len = localStorage.length; i < len; ++i ) {
    local_array.push(localStorage.key(i));
    local_array.push(localStorage.getItem(localStorage.key(i)));
    console.log(local_array);
  } 

  $.ajax({
    type: "POST",
    url: "uploadtodatabase.php",
    data: {data: local_array}
  });
});

这是我的 PHP 代码:

  <?php session_start();
  $connection = new mysqli('host', 'name', 'password', 'database');
  $username   = $_SESSION['user'];
  $username   = $connection->real_escape_string($username);
  $query      = $connection->query("SELECT * from members WHERE username ='$username'");
  $matches    = mysqli_num_rows($query);

  if ($matches == 1) {
  $row     = mysqli_fetch_array($query);
  $visited = $_POST['data'];
  $visited = $connection->real_escape_string($visited);
  $connection->query("UPDATE members SET visited = '$visited' WHERE username ='$username'");
  } 

  mysqli_close($connection);
  ?>

正如我在控制台中检查的那样,数据存储在 local_array 中。中的 jQuery 代码是 footer.php。这与我存储 uploadtodatabase.php 的位置相同。但是,footer.php 附加到可能不在同一目录中的其他文件。这会导致问题吗?我以前从未使用过 AJAX。所以,我可能做了一些愚蠢的事情,却根本没有注意到。

最佳答案

嗨,你已经成功了一半,你只需要解码 php 代码中的数组...

if(!empty($_POST['data'])) {
    $data = explode(',',$_POST['data']);
    //code to store $data content
}

现在您可以使用 $data 变量来存储 localSotrage 中的 session 内容

关于javascript - 无法将本地存储上传到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32308937/

相关文章:

javascript - Google Apps 脚本 CardService.setContent 为 HTML

javascript - php mysql 在一页和一个查询中插入多行数据

jquery - 如何使用 jquery 从tinyMCE 文本框中获取值?

javascript - 使用 ID 更新数据表上的行

php - 使用 PHP 获取我必须登录才能到达的 URL 的源代码

jquery - bootstrap 2.3.2 affix Bottom 在 affix 和 affix-bottom 之间跳转

javascript - Ajax提交两条信息到php文件

javascript - 如何更改使用 querySelectorAll 选择的元素

javascript - 当我使用 &lt;script src "NetworkError"> 时,为什么我在 javascript 中没有得到 ="false_ip"?

PHP MYSQL 变量返回错误