2012-08-02 2 views
0

ajax 호출을 통해 db의 값을 다른 페이지로 업데이트하고 성공 메시지를 반환하고 값을로드하는 간단한 폼이 있습니다. 각 페이지는 쿼리 문자열을 통해 업데이트 할 레코드를 결정합니다 (즉, index.php? clientid = 2).ajax 호출 후 url 쿼리가 무시되었습니다.

<?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); ?> 
: 내 아약스 호출이 반환 및 다시로드, 그것은 쿼리 문자열 값을 상실하고 다음 코드의 PHP 부분은 더 이상 얻을 수 있도록를 삭제하지 기본값으로 설정하기 어떤 이유로,

그래서 업데이트시에는 브라우저의 btw URL 필드에 여전히 표시되는 현재 url 쿼리 문자열 값 대신 clientid "1"이 항상 반환됩니다.

DB가 올바르게 업데이트되고 올바른 레코드로 업데이트됩니다. 페이지를 완전히 다시로드하면 올바른 값이 표시됩니다. 유일한 문제는 db 호출에 사용되는 url 매개 변수를 지우는 ajax 콜백 인 것 같습니다.

답변

0

좋아, 알아 냈어. 이 도움이 될 수 누군가를 위해, 내 변화를 다시로드 할 때, 나는 부분 jQuery.load에 쿼리 문자열을 전달할 필요가 있다고 밝혀졌다, 그래서이 :

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

이 변경됩니다 :

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

이제 모든 것이 잘됩니다. 이 책을 읽고 도움을 주려는 사람 덕분에, 나는 분명히 분명하지 않았습니다.

관련 문제