一个javascript的ajax有关问题(jquery).内容不知道如何说,请进来看代码

一个javascript的ajax问题(jquery).内容不知道怎么说,请进来看代码。

@{
    ViewBag.Title = "Index";
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>AdminIndex</title>
    @Styles.Render("~/Content/css", "~/Content/themes/base/css")
    @Scripts.Render("~/bundles/jquery", "~/bundles/jqueryui", "~/bundles/jqueryval", "~/bundles/modernizr", "~/bundles/AdminUI", "~/bundles/jqGrid")
    <script type="text/javascript">
        var tc = 1;
        $(function () {
            $("#btn1").click(function () {

                $.get("/Admin/Test/a1", { r: Math.random() },
                function (data, textStatus, jqXHR) {
                    //tcTemp = jqXHR.getResponseHeader("TabCounter");
                    var tca = tc;
                    $("#a" + tc).text(data);
                });
            });
            $("#btn2").click(function () {
                tc = tc + 1;
                alert(tc);
            });
        });
    </script>
</head>
<body>
    <h2>
        Index1</h2>
    <input id="btn1" value="按钮1" type="button" />
    <div id="a1">
        a1</div>
    <div id="a2">
        a2</div>
        <input id="btn2" value="改变数字" type="button" />
</body>
</html>


代码是这样的意思。按钮btn1会更新 a1或a2或a3.....an的DIV。(意思就是其中一个是激活状态的div)
当点击btn时是可以确定这个div的。
但服务端反应很慢。(假设很慢).这时我再去搞其它操作。就改变了div的激活状态。
这时服务端再返回数据后就更新了新的DIV。而不是原有的那个DIV。有什么办法 吗?
------解决思路----------------------
建议用操作层面来解决这个问题,就是当btn1 更新完后才可以出现btn2按钮进行操作,因为你的需求就是 当btn1 一切完后再执行btn2, 是这样一个顺序的过程,要想数据完全保证一致,这样会好点,如果你不这样那再行, 就是你在btn1去更新的时候 把更新过的做个记录 ,哪些DIV做过更新,哪些没做过, 然后btn2 用个定时器  就根据这些记录来做操作, 当记录全部更新完,停止定时器,  这样做也能实现 就是麻烦点,感觉没必要这样做。
------解决思路----------------------
设置为同步操作,就是必须等待ajax操作完后才执行下步
//全局设置ajax为同步
$.ajaxSetup({
    async: false/*设置异步为false,即同步*/
});
------解决思路----------------------
1.点了其中一个btn后,其他btn设置为disable
2.设置ajax异步为false

你提的需求不适合异步操作,如果不想用以上两种方案,给个思路

设置一个变量 temp ,点btn1的时候,把tc的值赋给temp,btn1的回调函数里 $("#a" + temp) ,就可以找到原来的那个div了。  每次发送请求的时候,才会去更新目标div。不知道这样能不能满足你的需求
------解决思路----------------------
可以先给事件源(input)添加一个属性,标识是否ajax请求完成,如果未完成不允许操作目标容器(div)