有如下代码段:$.get("./test_js.md").success(function (content) {
        $("body").html(content);
}).error(alert("fail"));在chrome下,其中的error会先于success执行。请问为什么会在success前执行error?还有,我把./test_js.md换成./test.js.md就不能读取了,请问这是为什么?

解决方案 »

  1.   

    按理说执行了error就不会执行success,应该不存在先后顺序,很难理解
      

  2.   

    今天我用 jQuery 的 ajax 来试了一下,发现结果还是一样的:
    <script>
            $.ajax({
                url: "./test_js.md",
                success: alert("success"),
                error: alert("error")
            })
        </script>
    只不过这次在 Chrome 下调试变成了先 alert("success") 再 alert("fail")。简直无语。我现在已经到 jQuery 的 GitHub 上提交了个 issue,不知道他们什么时候能解决这个问题。
      

  3.   

    alert("fail")要放一个函数里啊,不然就会立即执行
    $.get("./test_js.md").success(function (content) {
            $("body").html(content);
    }).error(function () {
    alert("fail");
    });
      

  4.   


    这回两个alert都没放函数里、都是直接立即执行的。