为何我的jQuery监听代码出现SyntaxError: missing ) after argument list错误?
解决jQuery中的SyntaxError: missing ) after argument list错误
嘿,这个语法错误的原因其实很直观——你的代码里出现了大括号/括号不匹配的问题,导致JavaScript解析器没法正确识别函数的参数列表结尾,所以抛出了这个错误。
先看你写的代码里出错的关键部分:
$('#login-form').on('submit', function(event){ event.preventDefault(); console.log("form submitted!"); // sanity check $('#table').load('http://127.0.0.1:8000/results',function(){ $('#go_back').remove(); }}); // 这里多写了一个闭合大括号!
问题就出在最后一行的}});——load()方法的回调函数只需要一个}来闭合,你多写了一个,直接打乱了整个语句的括号结构。
修正后的正确代码如下:
$('#login-form').on('submit', function(event){ event.preventDefault(); console.log("form submitted!"); // sanity check $('#table').load('http://127.0.0.1:8000/results',function(){ $('#go_back').remove(); }); // 用一个}闭合load的回调函数,再用)闭合load方法的参数列表 }); // 最后闭合on方法的回调函数和整个调用
简单捋一下正确的结构逻辑:
- 外层的
$('#login-form').on()接收一个回调函数(就是第一个function(event){...}),这个函数需要用}闭合 - 内层的
$('#table').load()也接收一个回调函数,同样只用一个}闭合即可 - 每个方法调用的参数列表都需要用
)收尾,所以最后是});闭合load,再用});闭合外层的on方法
以后遇到这类语法错误,建议用编辑器的括号高亮功能来排查——大部分编辑器都会自动配对括号,很容易就能发现多写或少写的括号~
内容的提问来源于stack exchange,提问作者barciewicz
相关产品推荐
相关产品推荐

