我有一个简单的表单,它通过 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 查询字符串值(顺便说一句,它仍然显示在浏览器的 URL 字段中)。
DB 更新正常,记录正确。如果我完全重新加载页面,它将显示正确的值。唯一的问题似乎是 ajax 回调清除了 db 调用中使用的 url 参数。