【问题标题】:Caching Values of MySQLin BrowserMySQL浏览器缓存值
【发布时间】:2011-05-15 16:55:41
【问题描述】:

我正在创建一个网站,用户可以在其中输入他的位置(只能是存储在我的数据库中的位置)。为了使其用户友好,我想在他键入职位时向他展示可用的职位选择。有没有办法预先在浏览器中缓存 SQL 中的所有值(大约 30 到 40),以便用户在输入时可以看到它们。

【问题讨论】:

  • 您使用的是什么服务器端技术?

标签: sql mysql web-applications browser


【解决方案1】:

您可以通过 PHP 和大多数其他服务器端脚本查询您的数据库,并通过 ajax 调用它们。您还可以将纯 javascript 与新的 html5 规范一起使用(但它们目前仅在 webKit 浏览器中受支持)。

如果你想不使用ajax,你可以在用户访问页面时获取值并将它们放入一个javascript数组中。这样,当计算机读取 javascript 时,自定义值已经存在。这种方法的问题是它会显着减慢您的网站响应时间。

示例:(php/伪代码)

<?php
    $options = $mysql->getOptions();   // This is the pesudo-code bit.

    echo 'options = [';

    foreach ( $opt in $options )
    {
        echo '"' . $opt.name . '"' . ',';
    }

    echo '];"
?>

这给出了类似的东西

options = [ "opt1", "opt2", "opt3", ];

应该在 javascript 中读取为数组。唯一的问题是额外的逗号,但你应该能够很容易地解决这个问题。 (而 Firefox 甚至没有给出警告)

【讨论】:

  • json_encode是你把php数组变成JS数组的朋友
  • echo "var options = " . json_encode($mysql-&gt;getOptions()) . ";\n" 相同的东西,没有尾随逗号,在 1 行中...
  • 太酷了。我以前从没听说过那个。我一定会尝试一下。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-18
  • 2017-06-06
  • 2010-11-25
  • 1970-01-01
  • 1970-01-01
  • 2013-02-17
  • 2021-01-27
相关资源
最近更新 更多