1

在此处输入图像描述所以我有一个简单的 web 应用程序界面,它依靠 AJAX 来构建和控制用户可以在任何时间点看到的设置。把它们想象成子菜单。

<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 个调用),将返回整个页面而不是 [target] url。

编辑:我在整个应用程序中“链接”AJAX 调用。我对在 web 应用程序情况下使用 AJAX 比较陌生,所以我不确定这是否是最好的方法,但这是我想出的将用户输入从表单获取到 PHP 中而无需重新提交的方法这页纸。

编辑:附加图像是第二次调用后页面的样子。在 FIRST 调用之后,“controls” div 标签改为填充 4 个其他 div 标签。

4

1 回答 1

0

请在 manage_locations.php 文件的最后一行后面加上 exit。

您也可以通过以下方式查看put。

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

在这里,您只会看到特定的输出。以便您可以在警报中找到结果。

于 2012-09-06T13:52:59.150 回答