在ajax调用后忽略url查询字符串

时间:2012-08-02 14:23:46

标签: ajax query-string

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

1 个答案:

答案 0 :(得分:0)

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

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

改为:

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

现在,一切都很顺利。感谢任何阅读此内容并试图提供帮助的人,我可能并不像我应该那样清楚。