$(function(){});只加载一次,jQuery预加载函数只加载了一次问题

博主在页面中使用$(function(){...})作为jQuery的文档加载完成后的执行代码,初次加载时正常运行,但点击添加按钮提交数据后再返回页面时,该函数未再次执行。排除缓存影响后,发现问题是由于提交后返回的页面不是通过相同Action加载,导致$(function(){});未重新执行。博主寻求对此现象理解的大佬指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是我今天遇到的问题:jQuery只加载了一次。在页面上的JavaScript里我写了$(function(){alert("123");});进行测试。进入界面弹出123,没问题。当我点击添加按钮提交到后台保存数据。然后又跳回这个界面时。没有弹出123。开始以为是缓存问题,设置了页面不缓存也没有用。其他的功能也是这样写的,每次都能加载,偏偏这个不能。后来把流程想了一遍,看看跟正常的有什么差异。发现的确有差异。下面用图讲解一下。

这里先放上一些必要的东西。

前置条件:使用的是ssh框架。

当时struts.xml的配置图:


allot_car.jsp页面的JavaScript:()加载函数,大家都不陌生吧=_=)和form提交路径如下:



PreCarAction里的addPrecars代码:


流程:通过ApplyCar_openAllot.action打开allot_car.jsp页面。会弹出123。在allot_car.jsp页面进行添加。如上图,又跳回allot_car.jsp。不会弹出123。这就是问题所在(可能我太菜,不懂的其中什么原理)。后面跟正常的比较总结如下:

正常的每次都能弹出的流程如下:


出问题的流程如下:


想必大家已经看出来了。出问题的是它跳的不是同一个action。

我是个菜鸟,不懂原理。希望能有大佬看到指点一下。这次就写到这,晚安。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值