2010-04-13 80 views

回答

0

你究竟想要达到什么目的?这听起来像它可能导致目前的坏地方。 (通过不好的地方我的意思是XSS类型漏洞利用)

+0

基本上我返回一些html,需要使用jquery(即鼠标悬停或点击事件)初始化一些事件。 – devlife 2010-04-13 03:05:55

+0

我的问题是 - 为什么它必须通过返回的数据进行初始化?你可以设置一个jQuery的侦听器,这样当被点击的东西实际上被点击时,数据(不是JavaScript,你会返回原始数据)被取出,并且说javascript位是用*那个数据初始化的,如果这是有道理的。 – dhoss 2010-04-13 03:12:33

+1

这就是我所说的。我需要在返回的元素上设置一个监听器。问题是,我宁愿不必回到我所有的ajax调用并设置初始化。我宁愿让结果自成一体。 – devlife 2010-04-13 03:19:49

1

如果脚本中有一个函数,你可以调用函数(我认为)。我认为浏览器可能会阻止这种活动来防止跨站点脚本攻击。

+0

让我举个例子(为什么我不想这样做)。 我有一堆部分视图(使用MVC),每个部分视图使用另一个局部视图。子部分视图将在一堆不同的地方呈现,我不希望每次通过ajax加载部分视图时都不必为此javascript函数添加一堆调用。如果有任何方式可以在子部分视图内部的脚本标签没有明确的调用而被执行,那将是非常理想的。 – devlife 2010-04-13 03:12:09

+0

我不知道我从你的例子中明白为什么脚本在被ajax加载的局部视图中执行不同于在加载ajax之后调用JS函数。我有一个MVC项目,我做了一些局部视图刷新,我有主视图加载所有的js,并且函数只是在ajax调用之后调用。你已经明确地调用了ajax的函数,对吗? – 2010-04-13 15:25:18

0

在您的ajax调用的成功回调中使用以下代码。

$(result).filter("script").each(function() { 
    eval(this.text); 
}); 

这将执行结果中的所有脚本代码块。

相关问题