javascript - 执行后删除自身的 javascript/jquery 函数

标签 javascript jquery html ajax

我正在向我的 Controller 之一发送 ajax 请求,以更新用户交互(他访问/喜欢的页面)以获得非常深入的分析。我将这些信息存储在我的 mongo 数据库中。

我只想在请求成功后删除此脚本。但是所有警报都有效,但脚本永远不会删除。以下是我的代码

<div id="delete_this">
<script>
$(document).ready(function() {
  $.ajax({
    url: weblink+'user-interactions',
    type: 'POST',
    dataType: 'html',
    data: {
        //some post data
    },
   })
   .done(function(html) {
        alert("works");
        var status = "executed";
        alert("works here");
            $("#delete_this").remove();

    })
    .fail(function(html) {
        console.log("error");
    });


});
</script>
</div>

我到目前为止所做的:

1) 尝试添加一个 div 作为父级并指向删除该 div,如脚本所示。

2) 将脚本中的 .remove() 分离到一个新的脚本标签中,并使用类似这样的东西。

<script>
$(document).ready(function() {
    $("#delete_this").remove();
});
</script>
  1. 试图指定父节点并删除子节点。

我在所有三个尝试中都失败了。我真的被困在这里了。

它不工作的任何原因?

我还有一个与此相关的问题。

This link说 javascript 在页面刷新之前一直停留在 session 中。那么,为什么我们不遵循可以执行脚本并删除它们的标准呢? 通过这样做,我们将能够构建更安全的网页。不是吗?

最佳答案

您可以使用纯 Javascript 来执行此操作(未测试)

var domNode = document.getElementById('delete_this');
var nodeParent = domNode.parentNode;
nodeParent.removeChild(domNode);

不确定这是否理想,但应该将其从 DOM 中完全删除。

关于javascript - 执行后删除自身的 javascript/jquery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22093365/

相关文章:

javascript - 使用 FSCollection 创建标记

javascript - jQuery prop() 和 Google Closure 编译器

javascript - 转换 HH :mm to Date object in js

jquery - tablesorter,不会按日期正确排序

c# - 无法从代码隐藏中调用 JS 函数

javascript - 触摸图像 slider : next/prev keys interfere with code for current slide

javascript - 是否可以在移动浏览器上播放使用陀螺仪传感器的 360 度 Html5 视频

javascript - 侧边栏关闭时,jQuery Accordion 选项卡应关闭

javascript - 使用 JQuery 从表构建 JSON

javascript - 如何检测 SVG 中的鼠标悬停矩形