jQuery的get方法为什么能在error后还会执行success中的内容?

stromlin 2017-04-14 11:13:27
有如下代码段:

$.get("./test_js.md").success(function (content) {
$("body").html(content);
}).error(alert("fail"));

在chrome下,其中的error会先于success执行。

请问为什么会在success前执行error?

还有,我把./test_js.md换成./test.js.md就不能读取了,请问这是为什么?
...全文
207 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2017-04-17
  • 打赏
  • 举报
回复
引用 2 楼 atmiao 的回复:
今天我用 jQuery 的 ajax 来试了一下,发现结果还是一样的:

<script>
        $.ajax({
            url: "./test_js.md",
            success: alert("success"),
            error: alert("error")
        })
    </script>
只不过这次在 Chrome 下调试变成了先 alert("success") 再 alert("fail")。简直无语。 我现在已经到 jQuery 的 GitHub 上提交了个 issue,不知道他们什么时候能解决这个问题。
这回两个alert都没放函数里、都是直接立即执行的。
天际的海浪 2017-04-17
  • 打赏
  • 举报
回复
alert("fail")要放一个函数里啊,不然就会立即执行

$.get("./test_js.md").success(function (content) {
        $("body").html(content);
}).error(function () {
	alert("fail");
});

stromlin 2017-04-17
  • 打赏
  • 举报
回复
今天我用 jQuery 的 ajax 来试了一下,发现结果还是一样的:

<script>
        $.ajax({
            url: "./test_js.md",
            success: alert("success"),
            error: alert("error")
        })
    </script>
只不过这次在 Chrome 下调试变成了先 alert("success") 再 alert("fail")。简直无语。 我现在已经到 jQuery 的 GitHub 上提交了个 issue,不知道他们什么时候能解决这个问题。
cn00439805 2017-04-14
  • 打赏
  • 举报
回复
按理说执行了error就不会执行success,应该不存在先后顺序,很难理解

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧