前端出现Uncaught SyntaxError: missing ) after argument list 的原因及处理方式

PHP 林涛 1154℃ 0评论

最近想吧百度网盘里面的资源能方便的分享出来,于是开通了网盘的开放平台,由于灯塔阅读后台是做的二开,为了遵循缘来的开发方式使用了无刷新调用。

但是在点击标题名称想打开下一级列表时候报告出一个错误“Uncaught SyntaxError: missing ) after argument list”

最初的写法是:

CodeGoods.filenameFormatter = function (value,row,index) {
    $("#nav-path").html(row.parent_path);
    var str= '';
   if(row.server_filename){
       str += '<a onclick="CodeGoods.openPath('+row.path+')">'+row.server_filename+'</a>';
   }
   return str;
};

结果能输出如下:

<tbody>
<tr data-index=”0″> …………</tr>
<tr data-index=”1″>
<td class=”bs-checkbox “>
<input data-index=”1″ name=”btSelectItem” type=”checkbox”></td>
<td style=”text-align: left; vertical-align: middle; “>
<a onclick=”CodeGoods.openPath(/-=- 少儿教育资源 -=-/【素质教育】假日博物馆·中国通史·1~7季 共200集 [www.dengtayuedu.com])”>【素质教育】假日博物馆·中国通史·1~7季 共200集 [www.dengtayuedu.com]</a></td>
<td style=”text-align: left; vertical-align: middle; “>-</td>
<td style=”text-align: center; vertical-align: middle; “>-</td>
<td style=”text-align: center; vertical-align: middle; “>…………</td>
</tr>
</tbody>

但是在点击链接的时候就会出现标题所属的错误。

之后经过仔细的排查找到原因是:js方法传递参数时,如果参数是string类型,需要在参数前后加“”

于是修改代码后为:

CodeGoods.filenameFormatter = function (value,row,index) {
    $("#nav-path").html(row.parent_path);
    var str= '';
   if(row.server_filename){
       str += '<a onclick="CodeGoods.openPath(\''+row.path+'\')">'+row.server_filename+'</a>';
   }
   return str;
};

 

至此解决,留贴备忘。

 

如需转载请注明: 转载自26点的博客

本文链接地址: 前端出现Uncaught SyntaxError: missing ) after argument list 的原因及处理方式

转载请注明:26点的博客 » 前端出现Uncaught SyntaxError: missing ) after argument list 的原因及处理方式

喜欢 (0)
发表我的评论
取消评论

表情