前一個星期隨便玩玩的時候,在jsp裡的<a onclick="click(參數1,參數2,參數3)">超連結</a> 傳遞參數請求ajax的時候出現了Uncaught SyntaxError: missing ) after argument list這個錯誤,去網上查詢這個錯誤,發現是丟失),導致的問題,但是怎麼檢查都沒缺少括弧,代碼具體如下:
<a target="_blank" onclick="click(<%=user.id%>,<%=user.name%>,<%=user.number%>)" class="blue">查看</a><!-- 通過ajax請求到userQuery查詢類 --><script type="text/javascript"> 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("查詢失敗"); } } }</script>
點擊查看超連結的時候就會報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經常會報一些錯誤,所以需要細心檢查代碼,比如看是否資料傳的時候格式有問題,沒加分號,資料少傳,少了括弧等等。
以上內容僅供參考,謝謝。