如何使JS函数每次调用时都从数据库中获取数据
How to make the JS function get the data from the database everytime I call it?
我使用的代码看起来像这样:
<script>
function getdata()
{
var employee =
<?php
//connect to database and get employee name
echo "'" . $row['empnm'] "'";
?>;
}
</script>
<a href="#" onclick="getdata();">print them</a>
它工作,但该函数只在页面加载时运行PHP代码,而不是每次调用该函数时。因此,如果目标员工的姓名被更改,JS函数将显示旧的姓名,直到页面被重新加载。如何使JS函数每次调用时从数据库中获取数据?
查看jQuery等库
然后使用下面的代码
function getdata(){
$.post("path/to/file.php", function(data) {
var employee = data;
// do whatever with the data.
});
}
,你仍然可以使用相同的html
<a href="#" onclick="getdata();">print them</a>
和 file.php
<?php
// connect to your db, get your results, echo them back
echo $row['empnm'];
?>
当您第一次请求页面时,PHP呈现出一个完整的html字符串,然后浏览器执行生成的html,而不是原始的PHP。比如,你的服务器会发送类似
这样的信息<script>
function getdata()
{
var employee =
"hello world";
}
</script>
<a href="#" onclick="getdata();">print them</a>
因此,就web浏览器所知,"hello world"只是硬编码在那里。
您需要研究AJAX以了解如何使其工作。查看这个初学者使用jQuery的ajax教程:http://www.devirtuoso.com/2009/07/beginners-guide-to-using-ajax-with-jquery/
定义全局变量
<script>
var employee = <?php echo "'" . $row['empnm'] "'";?>;
function getdata(){
return employee;
}
</script>
现在继续更改变量employee,无论何时更改
<a href="#" onclick="getdata();">print them</a>
如果你在PHP循环中——看起来确实是这样,因为——你可以使用PHP来定义要传递给循环中的getdata()的参数;例如
<script type="text/javascript">
function getdata(employee) {
// connect to database and get employee name
}
</script>
<?php
foreach ($loopData as $row) {
print '<a href="#" onclick="getdata(' . $row['empnm'] . ');">print them</a>';
}
?>
相关文章:
- 在php和mysql中选择选项.一旦选择了选项,就列出我的sql数据库数据
- AJAX,用于显示数据库数据
- 如何在 JavaScript 函数中使用 MySQL 数据库数据
- JavaScript 中数据库数据的未终止字符串文字
- 内容可更改 来自数据库数据的下拉列表
- 访问数据库数据类型错误
- 使用 Phonegap 检索数据库数据
- 引导数据库数据切换在同时使用两个标签时不使用 href #home 选项卡
- 如何在 ASP.NET 中动态地将数据库数据添加到 Jquery 控件
- 在数据库数据更改时向所有活动会话发送响应
- 如何使用php在mysql数据库数据更改上自动发送SMS
- 是否可以使用客户端代码检索数据库数据
- 将数据库数据检索到JSON-移动登录表单
- PHP/MySQL-数据库数据的复选框,提交2个参数
- 动态表单字段和数据库数据检索
- 在原生脚本应用程序中显示sqlite数据库数据有问题
- 如何在 JavaScript 中访问从 Recordset 中检索到的数据库数据
- PHP脚本返回整个网页,而不是数据库数据
- 如何重写jQuery日历的删除,以便我也可以删除我的数据库数据
- 为amstockcharts使用数据库数据