2012-08-02 141 views
0

我有一个简单的形式,它通过ajax调用更新数据库中的值到另一页并返回成功消息并加载值。每个页面确定通过查询字符串更新哪个记录(即index.php?clientid = 2)。阿贾克斯调用后忽略url查询字符串

出于某种原因,当我的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

好吧,我想通了。对于任何人谁,这可能帮助,事实证明,我的重装发生变化时,我需要通过查询字符串在部分jQuery.load,所以这样的:

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

得到改变这样:

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

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