zoukankan      html  css  js  c++  java
  • 关于javascript在子页面中函数无法调试问题的解决

    近期在做一个项目,会遇到在子页面中提交的时候会无法能够调试javascript代码的情况出现,有时候这种问题,我们无法正常在浏览器,看到我们子页面的javascript代码,所以只能够用原始的alert 或者 console.log(),当然,这也是一种解决方法,但是有时候,我们就想看一下程序到底是如何运行的,同时也可以看每个参数到底是什么值,所以意义还是比较大的。

    我贴张图,大家就大概了解是什么时候会出现这个问题了。


    <script>
    function stopWatchDog(watchDogId) {
    	alert("aa");
    	var url = '<s:url value="/watchDog/stopWatchDog"/>';
    	var params = {
    		watchDogId : watchDogId,
    	};
    	$.post(url, params, function(data) {
    		if (data.success) {
    			closeDialog();
    			tbGrid.send();
    		} else {
    			if (data.errorMsg != null && data.errorMsg != "") {
    				jAlert(data.errorMsg, "系统消息");
    			} else {
    				jAlert("停止异常", "系统消息");
    			}
    			$("#saveBtn").removeAttr("disabled");
    			$("#saveBtn").css("color", "white");
    		}
    	}, "json");
    }
    </script>

    这个其实是函数声明,大家如果了解javascript上下文的话,就知道其实函数声明只是在页面上下文加载的时候加载的函数名,其函数内容无法正常加载。


    如果我们换成函数自执行或者是在函数自治性中定义这个函数声明的话,那么就可以解决这个问题了。


    (function(){
    	function stopWatchDog(watchDogId) {
    		alert("aa");
    		var url = '<s:url value="/watchDog/stopWatchDog"/>';
    		var params = {
    			watchDogId : watchDogId,
    		};
    		$.post(url, params, function(data) {
    			if (data.success) {
    				closeDialog();
    				tbGrid.send();
    			} else {
    				if (data.errorMsg != null && data.errorMsg != "") {
    					jAlert(data.errorMsg, "系统消息");
    				} else {
    					jAlert("停止异常", "系统消息");
    				}
    				$("#saveBtn").removeAttr("disabled");
    				$("#saveBtn").css("color", "white");
    			}
    		}, "json");
    	}
    })();


  • 相关阅读:
    《领域驱动设计的原则与实践》读书笔记(一)
    asp.net identity UserSecurityStamp 的作用
    Python Django Apache配置
    SQL语句优化(转载)
    【转】性能测试,影响 TPS 的一些因素
    【转】接口测试总结
    【转】两款 Web 前端性能测试工具
    【转】工作中使用Trepn Power Profiler的应用总结
    【转】nGrinder 简易使用教程
    Http协议状态码总结
  • 原文地址:https://www.cnblogs.com/sunyingyuan/p/3686268.html
Copyright © 2011-2022 走看看