我正在向我的某个控制器发送ajax请求,以更新用户交互(他访问/喜欢的页面),以获得非常深入的洞察力分析。我将这些信息存储在我的mongo db中。
我想要的是,在此请求成功后,删除此脚本。但所有警报都有效,但脚本永远不会删除。以下是我的代码
<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>
我在所有三次尝试中都失败了。我真的被困在这里了。
为什么它不能正常工作?
我还有另外一个与此有关的问题。
This link表示javascript会一直保留在会话中,直到页面刷新为止。那么为什么我们不遵循标准来执行脚本并删除它们 通过这样做,我们将能够实现构建更安全的网页。不是吗?
答案 0 :(得分:0)
您可以使用普通的Javascript来执行此操作(未经过测试)
var domNode = document.getElementById('delete_this');
var nodeParent = domNode.parentNode;
nodeParent.removeChild(domNode);
不确定这是理想的,但它应该完全从DOM中删除它。
答案 1 :(得分:0)
这有效:
<button>remove</button>
<script id="test">
$( "button" ).click(function() {
$( "#test" ).remove();
alert("removed " + ($( "#test" ).length == 0));
});
</script>
在此处尝试:http://jsfiddle.net/4ungb/
所以要么你有a)其他错误阻止该脚本完成或b) 您的测试删除标准不正确。