语法错误"意外令牌}"使我抓狂

时间:2014-05-06 15:33:34

标签: javascript ajax

意外令牌}

我已经经历了这一千次但却没有看到它。已经计算了打开和关闭花括号和括号,但我遗漏了一些东西。

function gotoPhotoUploader() {
var db = document.getElementById('dbname').value;
if (db !== 'data') {
  document.location.href="photoUploader.php";
} else {
$.ajax({
type: 'POST',
data: $('#mysqlIndex'),
url: 'getPageNo.php',
  success: function(data) {
  console_log(data);
  document.location.href="photoUploader.php?&page=" + data;
  }
}
})};

我错过了什么?感谢。

3 个答案:

答案 0 :(得分:5)

添加括号时,请正确分隔它们,并且其中的所有内容都应缩进一个标签。这样做可以很容易地找到问题并阅读代码的逻辑。

我不确定我删除和添加了哪些括号和大括号,因为我做了一些更改。我开始只是正确格式化代码,其余的只是在我需要添加适当的右括号的地方。

格式化大量格式不正确的代码的简单方法是使用Web服务JS Beautifier。我建议你不要依赖这项服务,而是练习优秀的编程技巧。但是,如果查看旧代码,压缩代码或其他人格式不佳的代码,可能会出现这种情况。

function gotoPhotoUploader() {
    var db = document.getElementById('dbname').value;
    if (db !== 'data') {
        document.location.href="photoUploader.php";
    } else {
        $.ajax({
            type: 'POST',
            data: $('#mysqlIndex'),
            url: 'getPageNo.php',
            success: function(data) {
                console_log(data);
                document.location.href="photoUploader.php?&page=" + data;
            }
        });
    }
}

答案 1 :(得分:2)

还要注意括号的顺序。也就是说,在关闭else的参数列表之前,您正在关闭$.ajax块。

答案 2 :(得分:1)

是的,正如尼特所指出的那样......

...}else{
    $.ajax({
        type: 'POST',
        data: $('#mysqlIndex'),
        url: 'getPageNo.php',
        success: function (data) {
            console_log(data);
            document.location.href = "photoUploader.php?&page=" + data;
        }
    }
  })

应该是

...}else{
     $.ajax({
        type: 'POST',
        data: $('#mysqlIndex'),
        url: 'getPageNo.php',
        success: function (data) {
            console_log(data);
            document.location.href = "photoUploader.php?&page=" + data;
        }
    });
  }