gpt4 book ai didi

javascript - 当响应插入 DOM 时,如何防止从 ajax 请求返回的 javascript 执行?

转载 作者:行者123 更新时间:2023-11-29 15:05:07 25 4
gpt4 key购买 nike

所以,我看到很多人想知道如何执行通过 ajax 返回的 JS 代码。我希望我有那个问题。我的 JS 执行了,但我也不想要它!

使用 jQuery 1.4.2,我正在发出 GET 请求:

$.ajax({
url:'/myurl/',
type:'GET',
success:function(response){
$('body').html(response);
}
});

响应看起来像这样:

<p>Some content</p> 
<script>alert("hi!");</script>

每当触发成功回调并将响应注入(inject) DOM 时,就会触发警报代码!我不希望发生这种情况。我能做些什么来防止这种情况发生?

最佳答案

如果无法修改响应,请尝试“替换”<script>标签:

"<script>alert('hi');</script>".replace(/<(\/?script)/gi, "&lt;$1");

这应该转义标签,使它们显示为纯文本而不是执行。

相关链接

关于javascript - 当响应插入 DOM 时,如何防止从 ajax 请求返回的 javascript 执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3910900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com