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); ?>

したがって、更新時に発生するのは、クライアントID「1」が現在のURLクエリ文字列値ではなく常に返されることです(これはブラウザのURLフィールドに引き続き表示されます)。

DBは正常に更新されており、正しいレコードが使用されています。また、ページを完全にリロードすると、正しい値が表示されます。唯一の問題は、db呼び出しで使用されるurlパラメーターをクリアするajaxコールバックにあるようです。

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 に答える