我有一个简单的表单,它通过ajax调用更新数据库中的值到另一个页面并返回成功消息并加载值。每个页面通过查询字符串确定要更新的记录(即index.php?clientid = 2)。
出于某种原因,当我的ajax调用返回并重新加载时,它正在丢失查询字符串值并设置为默认值,清除它以便代码中的以下php部分不再获取它:
<?php if(isset($_GET["clientid"])) {
$clientidstring = $_GET["clientid"];
} else {
$clientidstring = 1;
}
$sql = mysql_query("select * from profiles where id=" . $clientidstring);
$row = mysql_fetch_array($sql); ?>
所以在更新时会发生的是,总是返回clientid“1”而不是当前的url querystring值(它仍然显示在浏览器btw的URL字段中)。
数据库正在更新,并且具有正确的记录。如果我完全重新加载页面,它将显示正确的值。唯一的问题似乎是清除db调用中使用的url参数的ajax回调。
答案 0 :(得分:0)
好的,我想出来了。对于任何可能有所帮助的人,事实证明,在重新加载我的更改时,我需要在部分jQuery.load中传递查询字符串,所以这个:
$('#s_aname').load('index.php #sub_aname');
改为:
$('#s_aname').load('index.php?clientid='+clientid +' #sub_aname');
现在,一切都很顺利。感谢任何阅读此内容并试图提供帮助的人,我可能并不像我应该那样清楚。