0

如果您阅读了我之前的问题,您可能知道在此作业中不允许在 php 和 javascript DOM 之间共享数据的方式:

+-----------+   +------------+  +----------| +----------+  +-----------+    
|javascript +---+Ajax Request+--+handle.php+-+result.xml+->+DOM parser |    
+-----------+   +------------+  +----------+ +----------+  +-----------+    

所以我正在考虑一次将mysql中的所有信息作为一个数组获取,并尝试在没有ajax请求的情况下通过javascript访问这个数组。

我能想出的唯一方法是

   +---------+     +-----------------------------+  +--------------------------------------+
   |Php array|     | write in Dom make it hidden |  | Parse the hidden element by DOM API  |
   +---------+     +-----------------------------+  +--------------------------------------+ 

但这似乎一点也不优雅,有没有更好的方法来做到这一点?

4

1 回答 1

2

查询数据库,并将结果打印为脚本标签内的 JavaScript。现在所有数据都保存在本地 JavaScript 变量中,您可以随意使用。

<script type="text/javascript">

  products = [];

  <?php
  mysql_connect('host', 'username', 'password');
  mysql_select_db('dbname');    

  $sql = "SELECT productName from products WHERE productTYPE = 1";
  $result = mysql_query($sql);
  while ($row = mysql_fetch_array($result)) {

    echo "products.push('" . addslashes($row['productName']) . "'); \n";

  }

  ?>

  //do something with all the stuff in the products array
  alert("There are " + products.length + " products in the array.");

</script>
于 2012-08-22T04:08:19.547 回答