JS报错修改日记(1):Uncaught ReferenceError: showQRcode is not defined

为了加一个查看二维码的功能,如:

       
     //页面内按钮
     <a class="manipulate-btn" href="#" onclick="showQRcode(<%#Eval("id")%>,<%#Eval("community_id")%>)">预览</a>


     //创建窗口 function showQRcode(user_id,community_id){ var objNum = arguments.length; var d = top.dialog({ "1", title: '用微信扫描二维码预览', url: 'dialog/dialog_QRcode_business.aspx?url='+<%=getPreview()%> +'user_id='+user_id+'&community_id='+community_id , onclose: function () { var trHtml = this.returnValue; if (trHtml.length > 0) { $("#item_box").append(trHtml); } } }).showModal(); //检查是否修改状态 if (objNum == 1) { d.data = obj; } }

运行之后老是会报错:Uncaught ReferenceError: showQRcode is not defined

1.尝试在$(function() {})中添加此段代码($(function() {});是$(document).ready(function(){ })的简写),无果。

 $(document).ready 里的代码是在页面内容都加载完才执行的,你直接写到script标签里,当页面加载完这个script标签就会执行里边的代码了,如果你标签里执行的代码调用      了当前还没加载过来的代码或者dom,那么就会报错。

2.百度此错误,得出结论:JS文件引用问题。

   然后修改引用路径由相对路径改为绝对路径,无果。

3.怀疑是iframe的锅,遂将该页面的地址输入地址栏,单独打开此页面。

   发现刚进页面就提示报错:QRcode_apply_list.aspx:306 Uncaught SyntaxError: Unexpected token :

   原因:

 url: 'dialog/dialog_QRcode_business.aspx?url='+<%=getPreview()%> +'user_id='+user_id+'&community_id='+community_id ,

这一行中的 <%=getPreview()%>未添加单引号,改正:

url: 'dialog/dialog_QRcode_business.aspx?url='+'<%=getPreview()%>' +'user_id='+user_id+'&community_id='+community_id ,

总结:出现问题细心排查,从头重现问题,勿遗漏。

原文地址:https://www.cnblogs.com/AaronBear/p/6757236.html