0

我有一个简单的表单,它通过 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 参数。

4

1 回答 1

0

好的,我想通了。对于这可能会有所帮助的任何人,事实证明,在重新加载我的更改时,我需要在部分 jQuery.load 中传递查询字符串,所以这是:

                         $('#s_aname').load('index.php #sub_aname');    

变成这样:

                         $('#s_aname').load('index.php?clientid='+clientid +' #sub_aname'); 

而现在,一切都很好。感谢阅读本文并试图提供帮助的任何人,我可能并不像我应该做的那样清楚。

于 2012-08-02T19:16:47.027 回答