Javascript 未捕获语法错误 : Unexpected identifier error in Chrome debugger

标签 javascript google-chrome

我正在调整来自 this tutorialXMLHttpRequest :

var request = new XMLHttpRequest();  
request.open('GET', 'http://www.mozilla.org/', true);  
request.onreadystatechange = function (aEvt) {  
  if (request.readyState == 4) {  
     if (request.status == 200)  
       console.log(request.responseText)  
     else  
       console.log('Error', request.statusText);  
  }  
};  
request.send(null);

我的代码是:

var xhr = new XMLHttpRequest();
xhr.open("POST", "http://ting-1.appspot.com/submithandlertest", true);
xhr.onreadystatechange = function (aEvt) {
  if (xhr.readyState == 4) {
      if (xhr.status == 200) 
          console.log("request 200-OK");
          chrome.browserAction.setBadgeText ( { text: "done" } );
      else
          console.log("connection error");
          chrome.browserAction.setBadgeText ( { text: "ERR" } );
      setTimeout(function () {
      chrome.browserAction.setBadgeText( { text: "" } );
      }, 2000);
  }        
}        
xhr.send(formData);

但是 Chrome 调试器在 else 上给出了一个 Uncaught SyntaxError: Unexpected identifier 错误。我究竟做错了什么?谢谢!

最佳答案

您缺少 else 之前的结束 } 和 else 之后的开始 {,以及您的 if-else - 语句中的其他内容。

它适用于您的教程代码,因为 if-else - 语句中只有一行。当有多条线时,你必须正确地阻止它们。 (我个人建议总是这样做,即使只有一行代码。在我看来,它增加了可读性,并且当你有一天决定缩小你的代码时,你不会有问题)

试试这个:

var xhr = new XMLHttpRequest();
xhr.open("POST", "http://ting-1.appspot.com/submithandlertest", true);
xhr.onreadystatechange = function (aEvt) {
  if (xhr.readyState == 4) {
      if (xhr.status == 200){
          console.log("request 200-OK");
          chrome.browserAction.setBadgeText ( { text: "done" } );
      }else{
          console.log("connection error");
          chrome.browserAction.setBadgeText ( { text: "ERR" } );
      setTimeout(function () {
      chrome.browserAction.setBadgeText( { text: "" } );
      }, 2000);
    }
  }        
};    
xhr.send(formData);

关于Javascript 未捕获语法错误 : Unexpected identifier error in Chrome debugger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7732887/

相关文章:

javascript - 向其添加项目后,数组被重置为未定义

javascript - 使用 Javascript 的水平滚动菜单

javascript - 如何添加下拉菜单图标?

javascript - 为网格指定多个反向条件

javascript - 移动设备上的 Google Chrome 在文件输入时触发额外不需要的 MouseEvent

css - Chrome 中的 float 错误? 1px 额外填充,但它不是填充

windows - headless chrome 在 Windows 10 中不起作用

JavaScript "firstNonRepeatingLetter"函数返回未定义而不是字符?

google-chrome - 如何将自定义项目添加到 chrome 上下文菜单中?

google-chrome - 当子元素使用相对定位时,Chrome border-radius 被忽略