加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

AJAX / javascript第二次无法正常工作

发布时间:2020-12-16 02:47:30 所属栏目:百科 来源:网络整理
导读:我有一个网站,jQuery将应用页面加载到一个div,它是索引页面的一部分. 应用程序页面包含两个DIV .. 1)搜索表单,以及2)结果div. 搜索jQuery会将结果加载到结果div中.每个结果都有一个call-to-action按钮,jQuery加载到结果div中(单独留下搜索栏).用户完成调用操
我有一个网站,jQuery将应用页面加载到一个div,它是索引页面的一部分.

应用程序页面包含两个DIV .. 1)搜索表单,以及2)结果div.

搜索jQuery会将结果加载到结果div中.每个结果都有一个call-to-action按钮,jQuery加载到结果div中(单独留下搜索栏).用户完成调用操作表单,然后jQuery将结果页面加载到结果div中.

每次都是第一次完美无缺.但是,如果在加载结果页面后,用户再次从搜索栏中单击搜索,我将进入用户必须选择号召性用语按钮的页面,但会弹出一个javascript错误.

对此的特定错误是:

TypeError:$(‘#cta-email’).validate不是函数. (在’$(‘#cta-email’).验证’,’$(‘#cta-email’).验证’未定义)

此错误使得无法单击基于javascript的任何其他内容.刷新页面会修复它,但我无法弄清楚导致此脚本在第二次执行时导致错误的原因.

其他注释..几乎每个由jQuery加载的页面都有一个< script>在底部.我已经研究了关于脚本没有通过AJAX加载等等解决的问题,但是我不确定这是否是问题的一部分,因为正如我所说,我可以完成整个函数一次,但是当循环时,那就是错误出现的时候.

如果我遗漏了任何有助于解决这个问题的信息,请告诉我.

解决方法

看过演示后,问题似乎是在提交表单时重新加载资源(jQuery和jQuery validate).这打破了jQuery验证.

以下是网络请求(提交表单后):

您可以看到结果重新加载资源
在查看结果后,我们会看到以下有问题的行:

<script async defer src="//maps.googleapis.com/maps/api/js?key=AIzaSyB36Tx2kI7o_o4tPsdiVJBf_wyPEf6r2dc"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.14.0/jquery.validate.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.14.0/additional-methods.min.js"></script>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读