Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 多次加载Ajax以及多次加载脚本_Javascript_Jquery_Html_Css_Ajax - Fatal编程技术网

Javascript 多次加载Ajax以及多次加载脚本

Javascript 多次加载Ajax以及多次加载脚本,javascript,jquery,html,css,ajax,Javascript,Jquery,Html,Css,Ajax,我已经问了一半这个问题,但当我开始调试和处理代码时,我注意到了一些其他问题。在我的网站上,为了辩论起见,这就是我希望你做的。首先单击art选项卡,您会注意到控制台中有两个日志,一个是脚本长度,另一个是ajax调用,分别为5和1。我不明白为什么它记录了5个,我有4个已知的脚本。然后单击下一个选项卡music,它将记录两次脚本长度的8,以及两次ajax调用,为什么?此外,它将继续在这种模式中添加。我有一个非常简单的要求,请与我合作。我不是说为我写代码或给我一切,只是帮助指导我,这样我才能真正了解我的

我已经问了一半这个问题,但当我开始调试和处理代码时,我注意到了一些其他问题。在我的网站上,为了辩论起见,这就是我希望你做的。首先单击art选项卡,您会注意到控制台中有两个日志,一个是脚本长度,另一个是ajax调用,分别为5和1。我不明白为什么它记录了5个,我有4个已知的脚本。然后单击下一个选项卡music,它将记录两次脚本长度的8,以及两次ajax调用,为什么?此外,它将继续在这种模式中添加。我有一个非常简单的要求,请与我合作。我不是说为我写代码或给我一切,只是帮助指导我,这样我才能真正了解我的错误以及如何纠正它。事实上,我甚至会和别人聊天,并在这个问题上工作,我真的很想写更好的JS。这里说的是我的代码(忽略我的脚本检查函数,该函数用于注释该代码):

*这只是我的ajax功能,请查看我的网站了解更多详细信息

第一次单击
$(脚本)
时返回以下标记:

<script async="" src="https://www.google-analytics.com/analytics.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="../assets/instafeed.js-master/instafeed.min.js"></script>
<script type="text/javascript" src="../assets/load_scripts.js"></script>
<script>/*google analytics stuff*/</script>

/*谷歌分析工具*/
在下一次会议上:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="../assets/instafeed.js-master/instafeed.min.js"></script>
<script src="../assets/load_scripts.js"></script>
<script async="" src="https://www.google-analytics.com/analytics.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="../assets/instafeed.js-master/instafeed.min.js"></script>
<script type="text/javascript" src="../assets/load_scripts.js"></script>
<script>/*google analytics stuff*/</script>

/*谷歌分析工具*/
似乎每次执行ajax调用时,前三个都会附加到DOM树。此外,
load_scripts.js
本身就是其中之一,因此下一次单击将分别使用
console.log
生成更多ajax调用和更多触发的处理程序


解决方案:不要在ajax响应中包含脚本,或者至少不要将它们附加到DOM树中。取决于您试图实现的目标:)

您的ajax正在加载一整页脚本again@charlietfl关于我应该如何解决这个问题有什么建议吗?有趣的,快速的问题,这就是我的内容不断翻倍的原因吗?当你从“艺术”选项卡转到任何其他选项卡,再回到“艺术”选项卡时,它会不断翻倍或添加相同的内容。是的,我打赌这正是因为这个。每次单击后,您都有
$(“#container”).html(数据)执行多次,因为在ajax调用中附加了
load_scripts.js
(其中包含此html替换)。所以你的内容也被附加了好几次。谢谢你,我会处理好这件事,然后再给你回复
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="../assets/instafeed.js-master/instafeed.min.js"></script>
<script src="../assets/load_scripts.js"></script>
<script async="" src="https://www.google-analytics.com/analytics.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="../assets/instafeed.js-master/instafeed.min.js"></script>
<script type="text/javascript" src="../assets/load_scripts.js"></script>
<script>/*google analytics stuff*/</script>