删除ajax加载的内容和脚本
Remove ajax loaded content and script
我不知道这可能是重复的,但是,
我在我的网站上使用ajax,现在为了响应这个调用,我发送了一些html和脚本。
然后我用页面中存在的一些元素替换那个些数据。
现在,我想进行第二次ajax调用,所以我已经从加载的div中删除了html内容。然后再次进行ajax调用,返回一些其他html代码和脚本。但有时,这是以前的脚本和新到的脚本之间的冲突。
前任。第一个响应我用一些元素替换html和脚本:$('.ma_right_main').html(response.data);
那么在第二次呼叫之前,我删除内容:$('.ma_right_main').html('');
第二个响应我用一些元素替换html
和脚本:$('.ma_right_main').html(response.data);
但在替换它之后,从第一次返回的第二次脚本仍在执行中。我想删除它,就像删除html内容一样。
我不认为浏览器加载脚本后就可以将其删除(这并不意味着你不能将其从dom中删除,但它仍然存在。)例如,如果你有一个变量为x
的脚本,加载页面以加载脚本,从dom中移除脚本,我认为x
仍然会被定义。
不过,如果每个动态加载的脚本都是自己的对象,那么在"卸载"时,可以将对象设置为null。这是我不久前在寻找类似解决方案时遇到的一个解决方案。
找到了我所指的参考资料:https://stackoverflow.com/a/1346903/1475461
脚本根本不是自然执行的。(设置.innerHTML
将不会在HTML中执行脚本)。
jQuery手动查找html中的所有脚本元素,删除它们并计算它们。因此,如果您正在使用.html
,并且不希望执行脚本,请不要在html中包含脚本。
而且你不能停用脚本,所以你需要考虑到这一点来重构你的网站。如果新代码可能与以前的代码冲突,请不要在响应中包含这些代码。使用始终加载的泛型代码。
- php脚本中无法识别ajax传递的值
- 如果返回的数据是javascript,$.ajax会自动执行脚本吗
- Jquery:对返回JSON数据的php脚本的Ajax调用
- 我尝试在登录脚本中使用ajax,但页面不会重定向
- Javascript-如何让脚本与Ajax请求的数据一起运行
- ajax加载了内容,脚本没有执行
- 如何将javascript变量传递给Ajax脚本
- ajax鼠标悬停和鼠标悬停脚本
- 运行AJAX脚本
- 使用Ajax或JavaScript选择下拉列表选项后,在同一页面上执行PHP脚本
- 什么's使用脚本标记调用文件和ajax之间的区别
- 从Ajax脚本重定向Javascript页面
- 如何参数化ajax TruClient脚本中的值
- AJAX和php脚本后添加的表单元素未传输到$_POST
- jquery ajax到php脚本不保存数据
- 无法使用ajax/javascript将文件上传到perl脚本
- js 脚本(ajax) - PHP |多变量通信
- 我如何发送参数到php脚本(ajax),使他们将包括在服务器端
- 如何使用Java脚本ajax调用下载TXT文件
- 为什么浏览器不缓存java脚本(Ajax)