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


  • 相关阅读:
    ***mysql索引总结----mysql索引类型以及创建
    XCODE快捷键个人总结
    ios下划线变量:为什么变量前要加下划线才有用?
    ios开发之AppDelegate
    **IOS:xib文件解析(xib和storyboard的比较,一个轻量级一个重量级)
    NEON简介【转】
    NEON在Android中的使用举例【转】
    时钟频率的理解--笔记【原创】
    理解逐次逼近寄存器型ADC:与其它类型ADC的架构对比【转】
    模数转换器(ADC)的基本原理【转】
  • 原文地址:https://www.cnblogs.com/sunyingyuan/p/3686268.html
Copyright © 2011-2022 走看看