1

我正在使用 Ajax 调用控制器。控制器函数称为 testAction()。这很好用,函数被调用。现在我想将 JS 添加到该函数的标题中。我的方法是这样的:

我创建了一个句柄,它将我的 JS 文件添加到标题中:

<my_handle>
    <reference name="head">
        <action method="addJs">
            <script>somefolder/myjs.js</script>
        </action>
    </reference>
</my_handle>

现在我将代码添加到我的控制器中以在 Ajax 调用中添加此句柄,如下所示。

$layout = $this->getLayout()->getUpdate();
$layout->addHandle('my_handle');

通常这工作得很好,但由于它是一个 Ajax 调用,它似乎不起作用(调用返回后文件不包括在内)。所以问题是:如何在 Ajax 调用中将 JavaScript 文件添加到头部?

谢谢!

4

1 回答 1

1

由于您已经通过 AJAX 调用控制器,您可以使用 jQuery/Javascript 加载 Javascript:

使用 jQuery:

方法: jQuery.getScript() 描述:使用GET HTTP 请求从服务器加载一个JavaScript 文件,然后执行它。

有关更多信息,请参阅官方文档

使用原型:

var head;
var script;

head = $$('head')[0];
if (head) {
    script = new Element('script', { type: 'text/javascript', src: 'dynamic.js' });
    head.appendChild(script);
}

请参阅此处了解更多信息。

于 2013-05-21T10:17:42.970 回答