1. ホーム
  2. jsp

Uncaught SyntaxError: missing ) after argument list 错误解决

2022-02-11 11:28:33

前一个星期随便玩玩的时候,在jsp里的 <a onclick="click(参数1,参数2,参数3)">超链接</a> 传递参数请求ajax的时候出现了Uncaught SyntaxError: missing ) after argument list这个错误,去网上查询这个错误,发现是丢失),导致的问题,但是怎么检查都没缺少括号,代码具体如下:

查看



    function click(id,name,number){
        $.ajax({
            type:"post",
            url:"/student/userInfo/userQuery.htm?id=" + escape(id)+"&"+escape(name)+"&"+escape(number),
            data:{"id" : id,"name" : name,"number" : number},
            dataType: 'text',
            success: successMsg,
            error: errorMsg
        })
        function errorMsg() {  
            $("div.dialog").show();
            $("#info").html("查询用户信息出错");
        }  
        function successMsg(msg) { 
            if (msg == "SUCCESS"){
                $("div.dialog").show();
                $("#info").html("查询成功");
            } else {
                $("div.dialog").show();
                $("#info").html("查询失败");
            }
        }  
    }


点击查看超链接的时候就会报Uncaught SyntaxError: missing ) after argument list 这个错误,经过查看如果只带一个参数时<%=user.id%>为int类型时就不会有此问题,传三个参数时,其中有不为int类型的参数传递时必须修改一下代码,代码修改如下:

<a target="_blank" onclick="click('<%=user.id%>','<%=user.name%>','<%=user.number%>')" class="blue">查看</a>

其中ajax请求的方法不需要改,这样就不会报这个错误了,js经常会报一些错误,所以需要细心检查代码,比如看是否数据传的时候格式有问题,没加分号,数据少传,少了括号等等。

以上内容仅供参考,谢谢!