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");
    	}
    })();


  • 相关阅读:
    四,redis6版本的使用部署
    记录篇-浪潮服务器raid卡
    sudo漏洞解决方案--源码转rpm包(spec文件编写)
    关闭 Chrome 浏览器阅读清单功能
    【转译】如何成为一个数据工程师?
    Python 用最小堆获取大量元素 topk 大个元素
    Python 实现二分查找
    Python 排序算法之堆排序,使用 heapq 实现
    Python 排序算法之归并排序
    Python 排序算法之快速排序
  • 原文地址:https://www.cnblogs.com/sunyingyuan/p/3686268.html
Copyright © 2011-2022 走看看