经过:

今天在写页面的时候遇到了错误:Uncaught SyntaxError: missing ) after argument list
这个错误是出现在我的onclick()方法上的,方法里面用freemarker传值:

<a href="#" class="viewActivity" onclick="viewActivity(${activity.title},${activity.beginTime?string("yyyy-MM-dd HH:mm")})">

js方法里面的接收变量都没问题,刷新页面时却一直报错:Uncaught SyntaxError: missing ) after argument list
controller传来的title是string类型,而beginTime也通过?string(format)转成了string类型。
js方法的参数是string类型的时候前后要加“”,于是我在参数前后加了‘’,结果如下:

<a href="#" class="viewActivity" onclick="viewActivity('${activity.title}','${activity.beginTime?string("yyyy-MM-dd HH:mm")}')">

这时重新编译后,刷新界面,不再报错,问题解决。

结论:

js方法传递参数时,如果参数是string类型,需要在参数前后加“”

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐