Javascript 让jqueryajax运行返回的脚本

Javascript 让jqueryajax运行返回的脚本,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个链接,我想用JQuery和AJAX发出一个删除请求 if(confirm("Are you sure?")) { $.ajax({ url: $(this).attr("href"), type: 'DELETE', success: function(result) { // Do something with the result } }); } result是我想要运行的一堆Javascript。如何让

我有一个链接,我想用JQuery和AJAX发出一个删除请求

if(confirm("Are you sure?")) {
   $.ajax({
    url: $(this).attr("href"),
    type: 'DELETE',
    success: function(result) {
            // Do something with the result
        }
    });
}

result
是我想要运行的一堆Javascript。如何让它运行返回的脚本?

检查javascript方法。它允许您执行以字符串表示的js代码。

使用
数据类型:“脚本”
选项

success: function(result) {
    eval(result);
}
$.ajax({
    url: $(this).attr("href"),
    type: 'DELETE',
    dataType: 'script'
});
或者简单地说

$.getScript($(this).attr("href")); // Won't use 'DELETE' http type

请不要那样做。不要返回Javascript代码,不要
eval
,只要返回某种标识符,让Javascript决定做什么。@bazmegakapa您这样说是出于分离关注点的目的,还是出于技术原因,这是一个坏主意?
eval
应尽可能避免。我认为没有真正的理由返回一段代码。您可以返回某种JSON,并在Javascript中定义它应该发生什么。主要是出于安全原因。黑客可能会将恶意代码注入您的网站。不要感到愚蠢-如果您不经常使用内置函数,很容易忘记这些函数。在这种情况下使用eval()会有任何风险吗?很好。这更适合我的Javascript的其余部分。:)