我的ajax调用没有从PHP/Mysql中提取动态数据
My ajax call not pulling in dynamic data from PHP/Mysql
你好:我正在做一个项目,在这个项目中,我将把联盟中的分区列为页面上的按钮。当你点击一个按钮时,每个分区都会显示不同的团队列表。所有部门和团队都存储在mysql数据库中,并通过"div_id"链接在一起。计划是让按钮使用javascript或Jquery发送"div_id"到一个函数;然后使用ajax访问一个外部php文件,然后使用div_id查找该部门的所有团队,并将其打印在页面上。我一直在将所有这些拼凑在一起,并使各个部分发挥作用。但当我将它们放在一起时,ajax部分似乎不会在数据更改时从数据库中提取新数据。事实上,如果我更改e PHP文件以回显更多的数据或其他什么,它会继续使用原始的未更改文件。因此,如果数据发生了更改,则不会更新,如果文件发生了更改则不会更新。我确实发现,如果我真的用新名称复制了文件,然后让我的ajax调用使用该文件;它将使用新代码和当时的新数据来运行它。但现在一切都被锁定在那个点上,无法得到任何改变。
所以,我对ajax和尝试这样做不太了解。我不确定这对于我正在使用的内容和动态变化的团队列表来说是否完全正常,ajax调用PHP文件是不能做到这一点的。
或者——也许我的ajax代码和文件有问题,导致它以这种方式运行?我将粘贴我的ajax代码和php文件的代码…
这是ajax调用:
var answer = DivId;
$.ajax({
type: 'GET',
url: 'path_to_file/gscript2.php',
data: 'answer=' + answer,
success: function(response) {
$('#ajax_content').html(response);
}
});
这是它调用的script.php文件(已删除数据库凭据):
<?php
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH'])
&& strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'
) {
// AJAX request
$answer = $_GET['answer'];
$div_id=$answer;
echo "div id is: " . $div_id . "<br/>";
mysql_connect($hostname,$username, $password) OR DIE ('Unable to connect to database! Please try again later.');
mysql_select_db($dbname);
$result_g1 = mysql_query("SELECT * FROM teams WHERE div_id=$div_id");
while($row = mysql_fetch_array($result_g1, MYSQL_BOTH))
{
$team_id=$row[team_id];
$team_name=$row[team_name];
echo $team_id . " " . $team_name . "<br/>";
}
}
?>
总之,让它这么做有什么不对吗?还是它正在做的事情完全正常,我必须找到一种不同的方式?
非常感谢。。。
很可能您的浏览器正在缓存。
尝试按如下方式添加cache: false
:
$.ajax({
cache: false,
type: 'GET',
...
jQuery文档解释说,通过这样做,它只需添加一个GET参数,使每个请求在URL中都是唯一的。
它的工作原理是将"_={timestamp}"附加到GET参数中。
我相信这是由浏览器的缓存机制引起的。
尝试在请求中添加一个随机数,这样浏览器就不会缓存结果:
var answer = DivId;
$.ajax({
type: 'GET',
url: 'path_to_file/gscript2.php?r=' + Math.random(),
data: 'answer=' + answer,
success: function(response) {
$('#ajax_content').html(response);
}
});
或者通过以下方式关闭jQuery的缓存选项:
var answer = DivId;
$.ajax({
type: 'GET',
url: 'path_to_file/gscript2.php',
data: 'answer=' + answer,
success: function(response) {
$('#ajax_content').html(response);
},
cache: false
});
或者(全球):
$.ajaxSetup({ cache: false });
- 使用jquery将mysql数据获取到新的表行中
- 在数据提取完成之前进行页面渲染
- 将地理编码结果转换为php变量以发布到mysql数据库
- 如何在Javascript中从字符串中提取某些单词
- RegEx JavaScript:数字后的符号提取
- 如何在内联依赖项并将图像转换为dataURI的情况下完全提取网页
- 如何使用JS禁用表行,并在MYSQL中插入所选选项
- 从MySQL数据库中获取输入数据需要两次页面刷新
- 将一个表的id与另一个表中的user_id进行匹配,以获取mysql中的记录
- 如何提取URL并将其存储到MySQL中
- D3 javascript从mysql Unaught-typeError中提取数据
- 如何从我的 MySQL 数据库中提取数据以在页面加载时预填充表单
- 使用jQueryAjax切换从MySQL提取的信息
- 从MySQL中提取时,在谷歌地图中显示多个信息框
- 如何将mysql数据库中的数据提取到ckeditor中
- 我的ajax调用没有从PHP/Mysql中提取动态数据
- 通过PHP从MySQL提取位置进行地理编码
- 边栏谷歌地图API v3使用PHP/MYSQL提取数据
- Ajax 从 mySQL 中提取数据
- 从mysql中提取数据并在javascript中使用它们