jsp页面中的代码执行加载顺序介绍

摘要:
因此,js的加载顺序就是<script>标记在页面上出现的顺序。

1. java是在服务器端运行的代码,jsp在服务器的servlet里运行,而javascript和html都是在浏览器端运行的代码。所以加载执行顺序是是java>jsp>js。

2. js在jsp中的加载顺序

页面上的js代码时html代码的一部分,所以页面加载的时候是由上而下加载。所以js加载的顺序也就是页面中<script>标签出 现的顺序。<script>标签里面的或者是引入的外部js文件的执行顺序都是其语句出现的顺序,其中js执行的过程也是页面装载的一部分。

2.1 在js脚本中定义的全局变量和函数,都可以在后面的脚本中调用。变量的调用,必须是前面已经声明了的,否则变量返回的值是undefined。同一段脚本中,函数定义可以出现在函数的调用后面;若函数的定义和调用在两个脚本段中,函数调用在函数定义之前就会报函数未定义错误。

2.2 js中出现ajax的异步加载

由于ajax的异步加载可能会导致语句的执行顺序并不是按照语句的出现顺序来执行。下面以我做任务时遇到的问题为例:

在页面初始加载的时候需要向jsp发送请求来获得该页面所需的数据,在ajax成功函数中,对data的操作所需时间过长,就会导致在ajax函数 外面的confirm与loadTree比data操作后面的语句先执行。最终在loadTree中使用data的值得时候就为空,此时全局变量 openTab_Id就为空。

2.3控制js执行顺序

可以使用setTimeout(function(),time);来使function延迟加载。

免责声明:文章转载自《jsp页面中的代码执行加载顺序介绍》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JAR包升级,我们关注啥DDD领域模型企业级系统(二)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Jsp页面跳转和js控制页面跳转的几种方法

Jsp 页面跳转的几种方法 1. RequestDispatcher.forward() 在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet或者是JSP到另外的一个Servlet、JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp...

ASP.NET AJAX简述

(注:该内容来源于MSDN WebCast,仅作为个人学习笔记,如有任何错误,望指正) AJAX应用 ——异步,异步发出HTTP请求(XMLHttpRequest) ——页面部分刷新 ——减少数据传输量 ——提高用户体验 ASP.NET的AJAx的实现 ——与ASP.NET 2.0无缝集成(当前4.0版本更不用说了) ——轻易添加AJAX效果 ——以服务端...

巧用javascript ajax,实现跨域请求外带,增大漏洞危害

  今天聊聊javascript ajax发起请求,获取数据:    实在是漏洞挖掘中,经常会用到,学好javascript实在是太有用了    JS原生请求:      XMLHttpRequest(XHR)对象用于与服务器交互。通过 XMLHttpRequest 可以在不刷新页面的情况下请求特定 URL,获取数据。这允许网页在不影响用户操作的情况下,更...

Python实例---基于页面的后台管理[简单版]

后台管理菜单 + 母板[css/content/js] 向后台提交数据[2种]: 1. 模态对话框(数据少操作,且Js复杂):form表单 :优点:简单,前端提交后后台处理完成后直接redirect;缺点:无法显示错误信息Ajax提交 : - 有错误,显示错误;无错误,通过js的 location.relad() 刷新页面- 有错误,显示错误;无错误,自...

Javaweb学习笔记--分层设计

在早期的JavaWeb应用中,JSP文件负责处理业务逻辑,控制网页流程并创建HTML页面,JSP文件是一个独立的,能自主完成所有任务的模块, 这带来了一系列问题:HTML代码和Java程序代码强耦合在一起内嵌的流程控制逻辑调试困难可维护性差可读性差 为了解决以上问题,SUN公司先后制定了两种设计模式:jspmodel1以及jspmodel2 本质区别:在于...

jquery参考手册

jQuery 选择器 选择器 实例 选取 * $("*") 所有元素 #id $("#lastname") 的元素 .class $(".intro") 的所有元素 .class,.class $(".intro,.demo") class 为 "intro" 或 "demo" 的所有元素 element $("p")...