问题 jQuery .load的回调函数中textStatus参数的所有可能值是什么?


我正在使用jQuery的回调函数 。加载 如果运行某些代码的方法 textStatus 的参数 .load 方法等于某个字符串。

例如我有

jQuery("#myContainer").load('/seperate-file-with-content.asp', function(responseText, textStatus, xhr){                     
    if (textStatus === "error" || responseText.length <= 0) {
        //file failed to load i.e. textStatus == error 
        //or file loaded but has no content
    } else {
        //file loaded successfully i.e. textStatus == success
    }       
});

但我很担心 else 的一部分 if 声明可能会捕获其他非预期的 textStatus 值不等于 success

textStatus还有其他可能的值,除了 error 和 success ?

编辑/ UPDATE: 我现在相信 .load 是基于 .ajax,以下问题的答案可能对其他有类似问题的人有用: - 在jQuery的ajax成功回调中,textStatus会不会“成功”?


1558
2018-06-19 15:11


起源



答案:


load() 是基于 $阿贾克斯(),此方法的文档列出了可能的状态:

  • abort
  • error
  • notmodified
  • parsererror
  • success
  • timeout

16
2018-06-19 15:15



除了错误和成功,你知道如何在我的页面上复制上述状态吗? - Dave Haigh
abort 从那以后就不容易了 load() 没有返回jqXHR(虽然 $.ajax() 确保),所以你不能中止它以获得该状态。 timeout 容易获得(让服务器挂起请求),原样 notmodified (让服务器回复 304 Not Modified)和 parsererror (让服务器发送无效标记或JSON)。 - Frédéric Hamidi
感谢您的帮助,您已经回答了我原来的问题以及更多问题。 - Dave Haigh
我还从$ .getJson请求获得了一个“nocontent”作为textStatus。 - Warrick


答案:


load() 是基于 $阿贾克斯(),此方法的文档列出了可能的状态:

  • abort
  • error
  • notmodified
  • parsererror
  • success
  • timeout

16
2018-06-19 15:15



除了错误和成功,你知道如何在我的页面上复制上述状态吗? - Dave Haigh
abort 从那以后就不容易了 load() 没有返回jqXHR(虽然 $.ajax() 确保),所以你不能中止它以获得该状态。 timeout 容易获得(让服务器挂起请求),原样 notmodified (让服务器回复 304 Not Modified)和 parsererror (让服务器发送无效标记或JSON)。 - Frédéric Hamidi
感谢您的帮助,您已经回答了我原来的问题以及更多问题。 - Dave Haigh
我还从$ .getJson请求获得了一个“nocontent”作为textStatus。 - Warrick