所以我有一个简单的 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 标签。