1

ここに画像の説明を入力そのため、AJAX に依存して、ユーザーが任意の時点で表示できる設定を構築および制御する単純な Web アプリ インターフェイスがあります。それらはサブメニューのように機能すると考えてください。

<script type="text/javascript">
$(document).ready(function(e) {

    $(".option").click(function() {

        var method = $(this).attr("id");
        var target = "";

        switch(method){
            case "optManPpl":
                target = "/controls/location/manage_people.php";
                break;
            case "optManLoc":
                target = "/controls/location/manage_locations.php"
                break;
        }


        $.ajax({
            type: "POST",
            data: "user=0",
            url: target,
            success: function(msg){
                $("#controls").html(msg);
            }
        });

    });
});
</script>

<div id="options">
    <div id="optManPpl" class="option"> Manage People </div>
    <div id="optManLoc" class="option"> Manage Locations </div>
</div>

<div id="controls">
</div>

このページは明らかに別の ajax 呼び出しから呼び出されて表示され、画面に読み込まれます。「optManPpl」または「optManLoc」を初めてクリックすると、通話は正常に行われ、期待どおりの結果が返されます。ただし、いずれかを 2 回クリックすると (任意の組み合わせで 2 回の呼び出し)、[ターゲット] URL ではなくページ全体が返されます。

編集:私は、アプリケーション全体で AJAX 呼び出しを「チェーン」しています。私はWebアプリの状況でAJAXを扱うのは比較的新しいので、これが最善の方法であるかどうかはわかりませんが、再送信することなくフォームからPHPにユーザー入力を取得するために思いついた方法ですページ。

編集: 添付の画像は、2 回目の呼び出し後のページの外観です。最初の呼び出しの後、代わりに「controls」div タグに他の 4 つの div タグが入力されます。

4

1 に答える 1

0

manage_locations.phpファイルの最後の行の後にexitを配置してください。

また、以下でプットをチェックアウトすることもできます。

$.ajax({
    type: "POST",
    data: "user=0",
    url: target,
    success: function(msg){
    alert(msg); return false;
    $("#controls").html(msg);
    }
});

ここでは、特定の出力のみが表示されます。結果をアラートで見つけることができるようにします。

于 2012-09-06T13:52:59.150 に答える