javascript - (tryMS) 在 ajax HttpRequest 中

标签 javascript ajax

在下面的ajax请求中,有人可以解释一下吗(tryMS)

function createRequest() {
  try {
    request = new XMLHttpRequest();
  } catch (tryMS) {
    try {
      request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (otherMS) {
      try {
        request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (failed) {
        request = null;
      }
    }
  } 
  return request;
} 

(tryMS) 和 (otherMS) 是 javascript 的一部分还是只是代码中使用的常见参数,它们有特定的功能吗?如果它是一个参数,那么它的值(value)来自哪里。

最佳答案

在这种情况下,tryMSotherMS 只是变量名称。您可以将它们替换为任何有效的变量名称,逻辑将完全相同。在这种情况下,它们在运行时表示的对象是 Exception 的子类,因为它们在 try-catch 语句的 catch 子句中使用。

您可以阅读有关 try-catch-finally here. 的更多信息

我不同意这里使用的命名约定,但变量名称本质上是描述基于所使用的浏览器的控制流。例如,如果创建 XMLHttpRequest 对象导致引发异常,那么我们应该使用 ActiveXObject 尝试针对 Microsoft 浏览器的 AJAX 技术 - 因此得名 尝试MS

关于javascript - (tryMS) 在 ajax HttpRequest 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10398690/

相关文章:

javascript - HTML/CSS : what's a better option for layout of a tree of nested elements than nested tables?

javascript - React 在重新渲染父组件时如何重用子组件/保持子组件的状态?

javascript - 使用 Jasmine 测试 Meteor 辅助函数时出错

javascript - jquery ajax范围问题

javascript - jQuery-AJAX : Checking if Data Exists, 如果不是 "POST"

javascript - 非常简单的 toggleClass 不起作用

javascript - 使用 IIFE 声明 knockout View 模型的好处

javascript - 在 Ajax 加载的外部 html 中的脚本后调用事件

css - Wicket - 删除陈旧的标题贡献/AJAX 面板替换

javascript - jQuery 页面根据位置路径名加载